Docker/Docker 주요 명령어 익히기

[Docker 기본 명령어] 3. docker run과 -i, -t, --name, -d, --rm 옵션 사용해보기

Fletcher 2024. 8. 13. 11:48

 

반갑습니다!

이번 포스트에서는 $ docker run 명령어부터 살펴보겠습니다 ^^

지난 시간에는 $ docker create [이미지 이름]  →  $ docker start [컨테이너 이름]

의 순서를 가졌었는데요

docker run은 이미지를 선택해서 컨테이너를 생성함과 동시에 실행을 한다고 보시면 되겠습니다 ^^

 

 

 

 

docker run에는 다양한 옵션이 있습니다

-i : 컨테이너 입력(STDIN)을 열어놓는 옵션(주로 -t 옵션과 함께 쓰임)

-t : 가상 터미널(tty)을 할당하는 옵션(주로 -i 옵션과 함께 쓰임)

--name : 컨테이너 이름을 설정하는 옵션

-d : 컨테이너를 백그라운드에서 실행하는 옵션

--rm : 컨테이너 종료시 컨테이너를 자동으로 삭제하는 옵션

-p : 호스트와 컨테이너 포트를 연결하는 옵션 

-v : 호스트와 컨테이너 디렉토리를 연결하는 옵션

 

 

 

 

$ docker run -it ubuntu 명령어를 실행하니

해당 컨테이너의 응용 프로그램에 입력을 할 수 있도록 프롬프트가 바뀐 것을 확인할 수 있겠습니다 ^^

 

 

 

 

$ ls 명령어를 입력하니 현재 운영체제가 아니라,

컨테이너에서 실행되고 있는 프로그램에 대해서 명령어가 동작했습니다 ^^

 

 

 

 

$ exit 명령어를 입력하면 종료할 수 있습니다 ^^

 

 

 

 

 

아까와 동일한 명령어입니다 ^^

이번에는 --name 옵션을 추가해서 임의의 이름으로 지정하여 실행시켰습니다 !

방금 전과 마찬가지로 프롬프트 기호가 바뀌어서,

 

현재의 운영체제가 아니라

실행중인 컨테이너의 프로그램에 대해서 입력을 넣을 수 있도록 되었습니다 ^^

 

 

 

 

컨테이너를 여러개 실행하다 보면 exit를 입력해서 나왔는데도

컨테이너는 계속 남아서 메모리를 차지하고 있습니다

 

컨테이너 실행이 종료되면 자동으로 해당 컨테이너가 삭제되도록 하는 옵션은

-rm입니다 ^^

해당 옵션을 이용하여 컨테이너를 실행한 모습입니다!

 

 

 

 

이번에는 foreground 실행이 아니라 background 실행입니다

-d 옵션을 추가해서 해당 컨테이너를 생성해 실행시켰습니다

컨테이너가 생성 되었고, 또한 정상적으로 실행 중이므로

이제는 $ docker ps 명령어를 입력하면 목록에 정상적으로 조회가 됩니다 ^^!

 

 

 

 

STATUS를 살펴보면 Up인 것을 볼 수 있겠습니다

Exited는 종료 된 상태,

Up은 현재 실행 중인 상태를 의미합니다 ^^

 

 

 

 

그럼 백그라운드 실행 중인 컨테이너에 어떻게 접근할 수 있을까요?

$ docker attach [컨테이너ID 또는 이름] 명령어를 이용하시면

아까와 마찬가지로 컨테이너 실행중인 프로그램에 입력을 할 수 있도록

프롬프트가 바뀐 것을 확인할 수 있겠습니다 ^^!