Docker

도커 컨테이너의 생명주기

sejin2 2024. 5. 12. 13:16

도커의 생명주기 중에서 생성과 실행 부분

지금까지 docker run <이미지 이름>으로 컨테이너를 생성 및 실행했는데, 이를 생성과 실행으로 쪼개서 해보도록 한다.

실제로 cmd창에서 create를 해보면, 

생성된 컨테이너의 아이디를 확인할 수 있다. 확인한 컨테이너의 아이디로 start를 해본다.

-a 옵션은 도커 컨테이너가 실행될 때 붙어 있어서 거기서 나오는 output들을 화면에 표출해주는 역할을 한다.

도커의 생명주기 중에서 중지 부분

docker stop과 docker kill로 중지가 가능

docker stop을 이용하여 중지

docker kill을 이용하여 중지

Stop과 Kill의 차이

둘 다 실행 중인 컨테이너를 중지시키지만,
stop은 그동안 하던 작업들을 완료하고 컨테이너를 중지 시킨다. 따라서 중지하는데 시간이 조금 걸린다.

kill은 stop과 달리 어떠한 것도 기다리지 않고 바로 중지 시킨다.

도커의 생명주기 중에서 삭제 부분

docker rm <아이디 / 이름 >

⇒ 먼저 실행 중인 컨테이너는 중지한 후에 삭제가 가능하다.

맨 위의 컨테이너를 삭제한다.

삭제한 후에 docker ps -a를 이용해 모두 조회해보면, 해당 컨테이너가 잘 삭제된 것을 확인할 수 있다. 

윈도우에서는 아무리해도 안된다. 명령어가 다르기 때문에...
윈도우 CMD에서는 백틱과 $( ) 구문을 직접 사용할 수 없다. 위 명령을 사용하려면, 윈도우에서는 PowerShell을 사용하거나 명령을 조금 변경해야 한다. CMD에서 직접 사용하기 위한 방법은 다음과 같다.

FOR /f "tokens=*" %i IN ('docker ps -aq') DO docker rm %i

모든 컨테이너들이 삭제가 되어 docker ps -a로 확인해보면 아무것도 조회가 되지 않는 것을 확인할 수 있다.

도커를 쓰지 않을 때 모두 정리하고 싶을 때 사용

→ 실행 중인 컨테이너에는 영향을 주지 않는다 !

현재는 아무것도 없어서 0B가 나온다.

 

 

 

도표 출처 및 공부 내용 : 인프런 - 따라하며 배우는 도커와 CI환경 ( John Ann ) 

'Docker' 카테고리의 다른 글

컨테이너들 나열하기  (0) 2024.05.12
도커 이미지 내부 파일 구조 보기  (0) 2024.05.11
도커와 기존 가상화 기술과의 차이  (0) 2024.05.11
도커의 사용 흐름  (0) 2024.05.11
윈도우에 도커 설치하기  (0) 2024.05.11