Docker

[Docker] 4-2. 컨테이너 실행

patrick-star 2023. 5. 20. 12:07
728x90

docker container run : 컨테이너를 생성하고 실행하는 커맨드

docker image pull
docker container create
docker container start

위 3가지 기능을 하나로 합친 것과 같다. 이미지를 pull 하지 않았다면 이미지를 pull하고 나서 이후의 작업을 진행한다.

주요 옵션

옵션 형식 내용
--name 컨테이너이름 컨테이너 이름 지정
-p 호스트port번호:컨테이너port번호 컨테이너의 port 번호를 호스트의 port 번호로 지정
-v 호스트저장위치:컨테이너저장위치 볼륨을 mount
--net=네트워크이름 컨테이너를 정해놓은 네트워크에 연결
-e 환경변수이름=값 컨테이너에 필요한 환경변수의 값을 설정
-d 백그라운드로 실행하도록 설정
-i 표준 입력(stdin)을 활성화함. 컨테이너와 연결되어 있지 않아도 표준입력이 유지됨
-t TTY 모드(pseudo-TTY) 사용. 즉, 터미널을 할당하는 것을 의미함
-help 사용 방법에 대한 안내 메시지를 출력

위 옵션에서 -i 옵션과 -t 옵션을 같이 사용한 -it를 붙여주면

-i를 통해 입력을 유지하고 -t를 통해 TTY(터미널)을 할당함으로써
컨테이너 내부에서 터미널을 사용해 상호작용하거나 명령을 실행할 때 유용하다. 이를 통해 컨테이너 내부에 명령을 입력하고 출력 결과를 볼 수 있다.

대표적인 명령어

컨테이너 조작 관련 커맨드

docker container 하위_커맨드 [옵션]

이미지 조작 관련 커맨드

docker image 하위_커맨드 [옵션]

볼륨 조작 관련 커맨드

docker volume 하위_커맨드 [옵션]

네트워크 조작 관련 커맨드

docker network 하위_커맨드 [옵션]

한 번만 실행되는 컨테이너 vs 데몬(daemon)형태로 실행되는 컨테이너

  • 한 번만 실행되는 컨테이너 : 해당 컨테이너는 실행하자마자 종료되기 때문에 컨테이너를 실행하고 나서 터미널을 일시적으로만 제어하기 때문에 문제가 되지 않는다. 그래서 굳이 -i 옵선 또는 -t 옵선을 사용해서 컨테이너 내부에 접근하지 않아도 된다.
  • 데몬 : 계속 실행되기 때문에 한 번 터미널의 제어를 넘겨버리면 이를 되찾아오기 쉽지 않다. 그래서 -i 옵선과 -t 옵션을 이용해서 컨테이너가 실행되는 동안 해당 컨테이너 내부에 접근해서 원하는 동작을 진행할 수 있다.

cf) 데몬(daemon)이란... Unix 또는 Linux에서 동작하는 프로그램 중에서 백그라운드에서 항상 동작하는 프로그램을 의미한다.

출처 : 그림과 실습으로 배우는 도커 & 쿠버네티스