컨테이너 목록 확인, 컨테이너 삭제

Posted by youmin park on 2021-02-08

컨테이너 목록 확인, 컨테이너 삭제

컨테이너 목록 확인

docker ps 명령어로 현재 실행중인 컨테이너 목록들을 확인 할 수
있습니다.

스크린샷 2021-02-07 오후 4 56
27

docker ps -a 명령어로는 정지된 컨테이너를 포함하여 모든 컨테이너의
목록들을 확인 할 수 있습니다.

스크린샷 2021-02-07 오후 4 57
45

docker ps 명령어의 출력에 대한 설명

  • CONTAINER ID : 컨테이너에게 자동으로 할당되는 고유한 ID.
    docker inspect 명령어를 통해 전체 ID를 확인할 수 있습니다.
  • IMAGE : 컨테이너를 생성할 때 사용되는 이미지의 이름
  • COMMAND : 컨테이너가 시작될 때 실행될 명령어. 대부분의 이미지에는
    미리 내장되어 있기 때문에 별도로 설정할 필요는 없습니다.
  • CREATED : 컨테이너가 생성되고 난 뒤 흐른 시간을 나타냅니다.
  • STATUS : 컨테이너의 상태. 실행중일때는 Up , 종료된 상태인
    Exited, 일시 중시된 상태인 Pause등이 있습니다.
  • PORTS : 컨테이너가 개방한 포트와 호스트에 연결한 포트.
  • NAMES: 컨테이너 고유한 이름

컨테이너 삭제

스크린샷 2021-02-08 오후 10 22
40

컨테이너 삭제는 docker rm 명령어를 이용합니다. 위에서 ubuntu라는
이름의 컨테이너를 지우고 확인해 보기 위해 docker ps -a
사용하였습니다.

스크린샷 2021-02-08 오후 10 24
02

그런데 mycentos라는 이름의 컨테이너를 지우려고 하니 Stop the container
before attempting removal or force remove
라는 에러가 납니다.

실행중인 컨테이너는 삭제할 수 없으므로 컨테이너를 정지한 뒤 삭제하거나
강제로 삭제할 수 있는 옵션을 추가하라는 내용입니다.

스크린샷 2021-02-08 오후 10 26
35

그러므로 docker stop 으로 컨테이너를 멈춘뒤에 docker rm 으로
삭제 하도록 합니다.

혹은 docker rm -f [컨테이너이름] 으로 삭제할 수 있습니다.

도커 컨테이너를 일괄적으로 다 삭제하는 명령어는 prune 를 사용합니다.

+————————————–+————————————–+
| 1 | docker container prune |
+————————————–+————————————–+

혹은, docker ps 명령어의 -a 옵션과 -q 옵션을 조합해 컨테이너를 삭제할
수도 있습니다.

+————————————–+————————————–+
| 1 | docker ps -a -q |
+————————————–+————————————–+

-a 는 컨테이너의 상태와 관계 없이 모든 컨테이너를, -q는 컨테이너의 ID만
출력하는 역활을 합니다.

이 옵션들을 사용해 출력된 컨테이너 리스트를 변수로 컨테이너를 삭제하면
모든 컨테이너를 간단히 삭제할 수 있습니다. 즉, 다음 명령어는 컨테이너의
실행 상태와 관계없이 모든 컨테이너를 정지하고 삭제합니다.

+————————————–+————————————–+
| 12 | # docker stop $(docker ps -a -q) |
| | # docker rm $(docker ps -a -q) |
+————————————–+————————————–+