도커 컨테이너 기초 커맨드 및 생명주기에 대해 알아보기

Bakumando·2022년 5월 11일
0

Docker

목록 보기
3/7
post-thumbnail

0. 블로깅 목적

  • 도커 컨테이너 생성 방법을 이해한다.
  • 도커 컨테이너 실행 방법을 이해한다.
  • 도커 컨테이너 중지 방법을 이해한다.
  • 도커 컨테이너 삭제 방법을 이해한다.
  • 4가지 수행 과정과 관련된 도커 컨테이너 생명주기를 이해한다.

1. 도커 컨테이너 생성하기

$ docker create hello-world
  • docker create {이미지 이름}
  • docker 컨테이너를 생성하는 명령어이다.
  • docker run 생명주기 중 앞부분에 해당하며, 컨테이너 하드디스크에 파일 스냅샷을 올려주게 된다.
  • 생성이 되면서 아래 라인에 생성된 컨테이너 ID값을 출력해주는 걸 확인할 수 있다.

2. 도커 컨테이너 실행하기

$ docker start a67cf6a54f15
  • 확인
  • docker start {컨테이너 아이디/이름}
  • docker 컨테이너를 실행하는 명령어이다.
  • docker run 생명주기 뒷부분에 해당하며, 컨테이너에 프로세스 실행 시작 명령어가 적용된다.
  • docker start -a {컨테이너 아이디/이름} 의 형태가 되어야 원하는 출력문이 나온다.
  • 컨테이너 아이디 위치엔 ID식별자 전체를 입력할 필요없이, 앞 부분만 잘라 넣어줘도 인식해준다.
  • -a를 활용하지 않으면 아래처럼 그냥 입력한 값을 그대로 표출해준다.

3. 도커 컨테이너를 생성 및 실행하기

$ docker run hello-world
  • docker run {이미지 이름}
  • 생성(create)과 실행(start)을 동시에 수행해주는 명령어이다.
  • docker run 생명주기 전체를 수행한다.
  • 이미 이전 블로그에서 확인한 명령어이기에 예시는 생략한다.

4. 도커 컨테이너 중지하기

$ docker stop 4f6213c6c5c0
$ docker kill 4f6213c6c5c0
  • docker stop {컨테이너 아이디/이름}
  • docker kill {컨테이너 아이디/이름}
  • docker stop 사용 시, 대략 5초 이상의 딜레이 이후에 중지 되었다.
  • docker kill 사용 시, 곧장 중지 되었다.
  • stop과 kill의 차이에 대해 이해할 필요가 있다.
  • docker 컨테이너 중지 생명주기 중엔 SIGTERM(정리하는 시간)SIGKILL(중지) 구간이 있다.
    • stop 명령어는 그동안 하던 작업들을 되도록 완료한 뒤에 컨테이너를 중지시킨다.
      • stop은 SIGTERM 을 거친 후, SIGKILL을 이행한다.
    • kill 명령어는 어떠한 것도 기다리지 않고 바로 컨테이너를 중지시킨다.
      • kill은 SIGTERM 없이, SIGKILL을 이행한다.

5. 도커 컨테이너 삭제하기

$ docker rm 4f6213c6c5c0
  • docker rm {컨테이너 아이디/이름}
    • 실행중인 컨테이너를 우선 중지한 후에 삭제가 가능하다.
  • docker rm `docker ps -a -q`
    • 모든 컨테이너를 삭제할 수 있다.
  • docker rmi {이미지 id}
    • 도커 이미지를 삭제할 수 있다.
  • docker system prune
    • 한번에 컨테이너, 이미지, 네트워크 등을 모두 삭제할 수 있다.
    • 도커를 쓰지 않거나 모두 정리하고 싶을 때 사용해주면 적합하다.
    • 하지만 이것도 실행중인 컨테이너에는 영향을 주지 않는다는 점 주의하자.
  • docker 컨테이너 삭제 생명주기에서 삭제는 곧장 실행된다.
    • 단, 기억해야할 포인트는 실행중이지 않은 컨테이너만 삭제할 수 있다는 점이다.

위 명령어들을 통한 간단한 삭제 실습을 수행해보자.
1) 우선 현재 도커 컨테이너 리스트를 확인한다.


2) 4f6213c6c5c0 아이디를 가진 컨테이너를 삭제해본다.


3) 삭제되었음을 확인할 수 있다.


4) 모든 컨테이너를 삭제해보자. (아무것도 남지 않았음을 확인할 수 있다.)


5) 완전히 도커 관련 모든 것을 정리해보자.

profile
그렇게 바쿠만도는 개발에 퐁당 빠지고 말았답니다.

0개의 댓글