=

생성된 명령어

이미지 이름을 입력하면 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