본문 바로가기
Devops/Docker

[Docker] Docker Life Cycle 이해하기

by 볼링치는 개발자 2021. 6. 10.
반응형

Docker Life Cycle 이해하기

먼저 다음 명령어를 통해 ubuntu이미지로 컨테이너를 생성하고, 실행해봅시다.

$ docker run -i -t ubuntu bash

이 명령어는 ubuntu 이미지로 컨테이너를 만들어 실행하고, 해당 컨테이너에서 bash 명령어를 실행한 것입니다.

 

-i 옵션: interactive로 STDIN, 표준 입력을 연결하는 옵션입니다.

-t 옵션: TTY를 연결하는 옵션입니다.

 

위 명령어를 실행하고, 다른 터미널 창에서 docker ps -a 명령어를 통해 현재 실행 중인 컨테이너를 확인할 수 있습니다.

방금 실행한 ubuntu이미지 컨테이너가 실행 중인 것을 확인할 수 있습니다.


실행 중인 컨테이너에서 나오기

실행 중인 컨테이너에서 나올 때에는 2가지 방법이 있습니다.

  1. ctrl + P + Q 를 통해 컨테이너를 종료시키지 않고 빠져나옵니다.
  2. exit 명령어를 통해 컨테이너를 종료시키고 빠져나옵니다.

1. ctrl + P + Q로 빠져나오고, $ docker ps 명령어를 통해 실행중인 컨테이너를 확인할 수 있습니다.

2. exit 명령어로 빠져나오고, $ docker ps 명령어를 통해 실행 중이 컨테이너가 없는 것을 확인하고, $ docker ps -a 명령어로 종료된 컨테이너를 확인할 수 있습니다.


종료된 컨테이너 실행하고 접근하기

그럼 아까 exit명령어로 나오면서 종료한 컨테이너를 다시 실행해서 접근해보겠습니다.

$ docker start -a [컨테이너 id]

-a 옵션: attach 옵션으로 표준입출력을 붙입니다.

위와 같은 명령어로 fcdf278a15f0의 컨테이너를 다시 실행하고 접근합니다.

이 명령어는 다음과 같은 작업을 한 번에 해주는 것입니다.

$ docker start [컨테이너 이미지]
$ docker attach [컨테이너 이미지]


컨테이너 삭제하기

컨테이너를 삭제하는 3가지 방법이 있습니다.

  • $ docker rm [컨테이너 id] : 컨테이너 하나씩 삭제하기
  • $ docker rm `docker ps - a -q` :  전체 컨테이너 삭제
  • $ docker container prune :  정지된 컨테이너들만 전부 삭제

실행 중인 컨테이너에 접근하기

앞서 언급했지만, 다음 명령어로 실행 중인 컨테이너에 접근할 수 있습니다.

$ docker attach [컨테이너 id]

위와 같이 실행 중인 25bb2cf30896 컨테이너에 접근했습니다.

하나의 터미널 창에서 명령어를 입력하면, 같은 컨테이너에 접속해있는 터미널에도 똑같은 출력이 나타나게 됩니다.

밑에 창에서 입력하는 명령어, 출력되는 결과 모두 동시에 똑같이 나타납니다.

반응형

'Devops > Docker' 카테고리의 다른 글

[Docker] Docker Volume 사용하기  (0) 2021.06.10
[Docker] Nginx 사용해보기  (0) 2021.06.10
[Docker] 기본 명령어  (0) 2021.06.10
[Docker] Root계정 아닌 계정으로 Docker관리하기  (0) 2021.06.10
[Docker] Hello World  (0) 2021.06.10

댓글