→
→
=
생성된 명령어
이미지 이름을 입력하면 docker run 명령어가 생성됩니다
docker run이란?
docker run은 Docker 이미지를 기반으로 새 컨테이너를 생성하고 실행하는 명령어입니다. 포트 포워딩, 볼륨 마운트, 환경변수 설정 등 다양한 옵션을 조합하여 컨테이너의 실행 환경을 구성할 수 있습니다. Docker를 사용하는 개발 환경에서 가장 기본이 되는 명령어입니다.
주요 옵션
| 옵션 | 설명 | 예시 |
|---|---|---|
| -d | 백그라운드(detached) 모드로 실행 | -d |
| -it | 대화형(interactive) 모드 + 터미널 할당 | -it |
| --name | 컨테이너 이름 지정 | --name my-app |
| -p | 포트 포워딩 (호스트:컨테이너) | -p 8080:80 |
| -v | 볼륨 마운트 (호스트:컨테이너) | -v /data:/app/data |
| -e | 환경변수 설정 | -e NODE_ENV=production |
| --rm | 컨테이너 종료 시 자동 삭제 | --rm |
| --restart | 재시작 정책 설정 | --restart unless-stopped |
| --network | 네트워크 연결 | --network my-net |
| --memory | 메모리 제한 | --memory 512m |
| --cpus | CPU 사용량 제한 | --cpus 1.5 |
| -w | 작업 디렉터리 지정 | -w /app |
| --entrypoint | 엔트리포인트 덮어쓰기 | --entrypoint /bin/sh |
자주 사용하는 docker run 예시
Nginx 웹서버
docker run -d --name nginx \ -p 80:80 \ -v ./html:/usr/share/nginx/html \ nginx:latest
PostgreSQL 데이터베이스
docker run -d --name postgres \ -p 5432:5432 \ -e POSTGRES_PASSWORD=mysecret \ -e POSTGRES_DB=mydb \ -v pgdata:/var/lib/postgresql/data \ postgres:16
Redis 캐시 서버
docker run -d --name redis \ -p 6379:6379 \ --restart unless-stopped \ redis:alpine
임시 컨테이너에서 명령 실행
docker run -it --rm \ -v $(pwd):/app -w /app \ node:20-alpine npm install