ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 도커 컨테이너의 생명주기
    백엔드 관련 강의 공부/도커와 CI환경 2023. 12. 29. 20:09

    도커 컨테이너의 생명주기

    사진 : 인프런 강의 - 따라하며 배우는 도커와 CI환경

     

     

    지금까지 사용한 docker run <이미지>로 컨테이너 생성을 진행했는데, 생성과 시작으로 나눌 수가 있다. 이후에 중지와 삭제를 하는 명령어도 있다.

     

    • 생성 : docker create <이미지 이름>
    • 시작 : docker start <컨테이너 아이디/이름>
    • 중지 : docker stop <컨테이너 아이디/이름>
    • 중지(2) : docker kill <컨테이너 아이디/이름>
    • 삭제 : docker rm <컨테이너 아이디/이름>

     

    1. 생성 : docker create <이미지 이름>

    docker create hello-world 명령어를 사용해서 컨테이너를 만들어줬다.

     

    사진 : 인프런 강의 - 따라하며 배우는 도커와 CI환경

    생성만 하고 시작은 안했기 때문에 시작 시 실행할 명령어가 컨테이너에 들어가지는 않았다.

     

     

    2. 생성 : docker start <컨테이너 아이디/이름>

    시작을 할 때에는 docker start -a <컨테이너 아이디/이름>을 입력한다. 컨테이너 아이디/이름은 전부 다 입력해도 되지만 앞의 몇 글자만 입력해도 자동으로 들어간다.

     

    docker start 다음에 들어간 -a는 attach의 약자이다. 이 옵션은 도커 컨테이너가 실행이 될 때 output들을 화면에 출력해주는 옵션이다. 만약에 -a를 사용하지 않고 docker start <컨테이너 아이디/이름> 만을 입력하게 된다면 컨테이너 아이디만 출력하고 끝나게 된다.

     

     

     

    3. 중지 : docker stop <컨테이너 아이디/이름>

    ping localhost 커맨드를 실행시킨 다음에 ps로 확인하고 docker stop <컨테이너 아이디/이름> 명령어를 통해 컨테이너를 중지시켰다. docker ps를 입력하면 아무런 컨테이너도 나오지 않는다.

     

     

     

    4. 중지(2) : docker kill <컨테이너 아이디/이름>

    docker kill <컨테이너 아이디/이름> 명령어를 입력해봤는데 보여지는 결과는 비슷했다.

     

    docker stop 명령어는 명령어를 실행한 뒤 약 5초 뒤에 컨테이너가 종료되었다. kill 명령어만 컨테이너가 바로 종료되었다.

     

     

     

    docker stop vs docker kill

     

    docker stop은 Gracefully하게 중단을 시킨다. 명령어가 입력되더라도 메시지를 보내고 있었다면 보내고 있던 메시지를 완료한 다음에 컨테이너를 중지시킨다.

    docker fill은 기다리지 않고 바로 컨테이너를 종료시켜버린다.

     

    사진 : 인프런 강의 - 따라하며 배우는 도커와 CI환경

     

     

     

    5. 삭제 : docker rm <컨테이너 아이디/이름>

    컨테이너의 삭제는 종료된 컨테이너만 가능하다. docker rm <컨테이너 아이디/이름> 명령어를 입력하면 삭제가 된다. docker ps -a 명령어로 중지된 컨테이너들을 확인한 다음 가장 위의 컨테이너를 삭제했다.

     

     

     

    이외에 삭제하는 명령어

    도커 이미지를 삭제하는 명령어 : docker rmi <이미지 id>

    컨테이너, 이미지, 네트워크 모두를 삭제하는 명령어 : docker system prune

     

     

    사용하고 있는 컨테이너에는 영향 X

Designed by Tistory.