Docker에서 컨테이너를 실행할때 사용하는 주요 옵션

안상운·2024년 8월 16일

Docker

목록 보기
3/14

1. 일반적인 Docker 실행 옵션

  1. -d (Detach): 컨테이너를 백그라운드에서 실행시켜줌.
docker run -d ubuntu sleep 5

 
2. --entrypoint (Entry Point): 도커파일에 정의된 entrypoint를 오버라이드해줌.

docker run --entrypoint echo ubuntu hello

 
3. --env or -e (Environment Variables): 환경변수를 runtime 시간에 설정해줌

docker run --env MY_ENV=hello ubuntu printenv

 
4. --init (Initialization):
Docker의 초기화 스크립트를 실행하고 프로세스를 하위 프로세스로 생성.

docker run --init ubuntu ps

 
5. -i (Interactive) and -t (TTY): 대화형 TTY session을 컨테이너안에서 가진다.

docker run -it ubuntu

 
6. --mount and --volume (Volume): 볼륨의 컨테이너 계층 외부에 데이터를 유지합니다.

docker run \
  -e POSTGRES_PASSWORD=foobarbaz \
  --volume pgdata:/var/lib/postgresql/data \
  postgres:15.1-alpine

 
7. --name (Name): 컨테이너에게 특정한 이름을 부여.

docker run -d --name my_container ubuntu sleep 99

 
8.--network or --net (Network): 특정한 docker 네트워크에 연결.

docker run --network my_network ubuntu

 
9. --platform (Platform): 컨테이너 이미지를 실행할 아키텍처를 지정.

docker run --platform linux/arm64/v8 ubuntu dpkg --print-architecture

 
10. --publish or -p (Publish): 호스트 시스템의 포트를 컨테이너의 포트에 연결.

docker run -p 3000:3000 api-node

 
11. --restart (Restart): 지정된 정책(항상, 중지되지 않는 한 또는 전혀)에 따라 컨테이너를 다시 시작.

docker run --restart unless-stopped ubuntu
  1. --rm (Remove): 프로세스가 종료되면 컨테이너를 제거.
docker run --name this_one_will_remain ubuntu
docker run --rm --name this_one_will_be_gone ubuntu

# grepping for these containers shows that the --rm one is gone
docker image ls -a | grep this_one_will

2. 고급 구성 옵션

--cap-add and --cap-drop: 컨테이너에서 액세스할 수 있는 Linux 기능을 지정.

--cgroup-parent: 컨테이너가 연결되어야 하는 cgroup ID를 지정.

--cpu-shares: 컨테이너가 액세스해야 하는 CPU 주기의 비율을 지정.

--cpuset: 컨테이너가 실행되어야 하는 CPU 코어를 지정.

--device-read-bps and --device-write-bps:컨테이너가 액세스할 수 있는 장치 처리량과 대역폭을 제어.

--gpus: 컨테이너 내의 GPU에 액세스.

--health-* (e.g. --health-cmd, --health-interval, etc...): Docker가 주기적으로 컨테이너를 ping하도록 상태 확인 지정.

--memory: 컨테이너 프로세스가 액세스해야 하는 메모리 양 지정.

--pids-limit: 컨테이너가 관리하도록 허용해야 하는 하위 프로세스 수를 지정.

--privileged: 모든 권한에 대한 컨테이너 액세스 권한 부여.

--read-only: 파일의 컨테이너 레이어 설정

0개의 댓글