본문으로 바로가기

#6 Docker run 옵션

category Docker 2024. 12. 3. 20:18
반응형

 

Docker run 옵션

 

 

2. 주요 옵션

옵션 설명
-i
--interactive
컨테이너의 표준 입력(stdin)을 활성화. (주로 -it 함께 사용)
-t
--tty
tty(가상 터미널)을 할당.
리눅스에 키보드를 통해 표준 입력(stdin)을 전달할 수 있게한다. (주로 -it 함께 사용)
--name 컨테이너 이름을 지정.
-d
--detach
컨테이너를 백그라운드로 실행.
--rm docker run 명령어가 끝나면, 컨테이너 자동 삭제.
-p
--publish
호스트와 컨테이너의 포트를 연결 (포트포워딩).
-p <호스트 포트>:<컨테이너 포트>
ex) -p 80:8888  - 호스트에 8888로 접속하면, 컨테이너 내부의 80포트로 자동 접속.
-v
--volume
호스트와 컨테이너의 디렉토리 연결(마운트)
-v <호스트 절대경로>:<컨테이너 절대경로>
ex) -v /Users:/usr. - 컨테이너 /usr에 저장하는 파일은 호스트의 /Users 디렉토리에 저장.
--restart 컨테이너 종료시, 재시작 정책 설정
--restart="always" : 항상 재시작
--restart="on-failure" : 종료 스테이터스가 0이 아닐 때 재시작
* --rm 옵션과 --restart 옵션은 동시에 사용할 수 없습니다.
--privileged 컨테이너 안에서 호스트의 리눅스 커널 기능을 모두 사용

 

1) -it 옵션의 의미

-i 옵션과 -t 옵션을 같이 쓰는 경우입니다. docker 컨테이너에 표준 입력(stdin)을 열어두고(-i), 가상 터미널을 열어(-t) 키보드의 입력을 표준 입력으로 전달할 수 있도록 하는 옵션입니다.

 

docker run -it ubuntu

 

2) --name 옵션

컨테이너를 생성할 때, 이름을 지정하여 생성하는 옵션입니다. 

 

docker run -it --name test ubuntu

 

3) --rm 옵션

도커 컨테이너가 종료되면, 해당 컨테이너가 자동으로 삭제되게끔 하는 옵션입니다.

docker run --it --rm --name test2 ubuntu

 

3. 그외 다양한 옵션

옵션 설명
-c
--cpu-shares
해당 컨테이너에 CPU 자원 분배 설정. 기본값은 1024로 각 값은 상대적으로 적용.
ex) -c 2048 : 기본값의 2배로 CPU 자원 설정
-m
--memory
컨테이터의 메모리 한계 설정. b, k, m, g 단위 사용. (바이트, 키로바이트, 메가바이트, 기가바이트)
ex) -m 4g : 메모리 한계 4기가 바이트
--gpus 컨테이너가 호스트의 NVIDIA GPU를 사용할 수 있도록 설정.
ex1) --gpus all : 호스트의 GPU 모두 사용
ex2) --gpus "device=0,1" : 특정 GPU 사용. 첫번째(0)와 두번째(1) GPU 사용
-e
--env
컨테이너 내에서 사용할 환경 변수 설정
ex) -e TT=Twice : 컨테이너에서 TT 환경변수는 Twice값을 갖게됩니다.
-a
--attach
컨테이너에 표준 입력(stdin), 표준 출력(stdout), 표준 에러(stderr)를 연결
-u
--user
컨테이너에서 사용될 계정이름 또는 UID를 설정.
-h
--hostname
컨테이너의 호스트 이름 설정
-w
--workdir
컨테이너 내부에서 프로세스가 실행될 디렉토리 설정
--link 컨테이너 끼리 연결. <컨테이너 이름>:<별칭>
ex) --link test:tt   : 현재 컨테이너를 test 컨테이너와 연결(현재 컨테이너에서 test컨테이너 별칭은 tt로 지정)

 

 

실습

 

docker run -dit  ubuntu

docker attach 컨테이너ID

 

whitefox@SAMSUNG-NOTE:~$ docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
whitefox@SAMSUNG-NOTE:~$
whitefox@SAMSUNG-NOTE:~$
whitefox@SAMSUNG-NOTE:~$
whitefox@SAMSUNG-NOTE:~$ docker run ubuntu
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
afad30e59d72: Download complete
Digest: sha256:278628f08d4979fb9af9ead44277dbc9c92c2465922310916ad0c46ec9999295
Status: Downloaded newer image for ubuntu:latest
whitefox@SAMSUNG-NOTE:~$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
whitefox@SAMSUNG-NOTE:~$ docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS                      PORTS     NAMES
03ad04f2bfd3   ubuntu    "/bin/bash"   17 seconds ago   Exited (0) 17 seconds ago             unruffled_ritchie
whitefox@SAMSUNG-NOTE:~$
whitefox@SAMSUNG-NOTE:~$
whitefox@SAMSUNG-NOTE:~$ docker run -d ubuntu
1264d482bca8be4bfa4855a6bd8412b784c1402ab8fdf8596150ef0c72c7f72a
whitefox@SAMSUNG-NOTE:~$ docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS                      PORTS     NAMES
1264d482bca8   ubuntu    "/bin/bash"   4 seconds ago    Exited (0) 2 seconds ago              interesting_hofstadter
03ad04f2bfd3   ubuntu    "/bin/bash"   37 seconds ago   Exited (0) 36 seconds ago             unruffled_ritchie
whitefox@SAMSUNG-NOTE:~$ docker run -dit  ubuntu
8d98c48e5f62fa44aa10e6eafcf00c8bc95fce5939b0f275ffb6af3e501275f6
whitefox@SAMSUNG-NOTE:~$ docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED              STATUS                          PORTS     NAMES
8d98c48e5f62   ubuntu    "/bin/bash"   3 seconds ago        Up 2 seconds                              gracious_saha
1264d482bca8   ubuntu    "/bin/bash"   46 seconds ago       Exited (0) 45 seconds ago                 interesting_hofstadter
03ad04f2bfd3   ubuntu    "/bin/bash"   About a minute ago   Exited (0) About a minute ago             unruffled_ritchie
whitefox@SAMSUNG-NOTE:~$ docker attach 8d98c48e5f62
root@8d98c48e5f62:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@8d98c48e5f62:/#

 

 

결과

반응형

'Docker' 카테고리의 다른 글

docker commit  (6) 2024.12.06
#7 docker exec 명령어 , docker volumn  (1) 2024.12.04
#5. Docker Image 삭제  (0) 2024.12.02
#4. Docker Desktop 설치  (3) 2024.12.01
#1 도커란  (1) 2024.11.11