기본 개념
docker container run 명령어는 새 컨테이너를 생성하고 시작하는 명령어입니다. 필요한 경우 이미지를 자동으로 내려받습니다.
기본 문법
docker container run [옵션] 이미지 [명령어] [인자...]
필수 옵션
이미지 지정 (필수)
- 컨테이너를 생성할 때 사용할 이미지를 지정해야 합니다
- 예: docker container run ubuntu:20.04
-d, --detach
- 백그라운드 모드로 컨테이너 실행
- 예: docker container run -d nginx
-p, --publish 호스트포트:컨테이너포트
- 포트 매핑 - 호스트와 컨테이너 간의 포트 연결
- 예: docker container run -p 8080:80 nginx
-v, --volume 호스트경로:컨테이너경로
- 볼륨 마운트 - 호스트와 컨테이너 간 파일 시스템 공유
- 예: docker container run -v /host/path:/container/path nginx
-e, --env
- 환경변수 설정
- 예: docker container run -e MYSQL_ROOT_PASSWORD=password mysql
--name
- 컨테이너 이름 지정
- 예: docker container run --name my-nginx nginx
--rm
- 종료 시 자동 삭제 - 컨테이너 종료 후 자동으로 컨테이너 삭제
- 예: docker container run --rm alpine ls
-it
- 대화형 터미널 모드 - 컨테이너와 상호작용 가능
- 두 가지 플래그의 조합
-i (interactive): STDIN을 열어둬서 입력을 받을 수 있습니다.
-t (tty): 가상 터미널(pseudo-TTY)을 할당합니다
- 예: docker container run -it ubuntu bash
--network
- 네트워크 연결 - 컨테이너를 특정 네트워크에 연결
- 예: docker container run --network my-network nginx
기타 유용한 기능
- 이미지가 로컬에 없으면 자동으로 내려받습니다
+중지된 컨테이너는 docker start 명령어로 재시작 가능합니다
- docker ps -a 명령어로 모든 컨테이너(중지된 컨테이너 포함)를 확인할 수 있습니다 권한 관련 참고사항
Docker 시스템 구성에 따라 sudo를 사용해 명령어를 실행해야 할 수 있습니다. 시스템 관리자는 docker 그룹을 생성하고 사용자를 추가하여 sudo 없이 Docker 명령어를 사용하도록 설정할 수 있습니다
참고: https://docs.docker.com/reference/cli/docker/container/run/