모든 컨테이너 삭제하기

docker container rm -f $(docker container ls -aq)

아래와 결과는 같다

docker rm -f $(docker ps -aq)

모든 이미지 삭제하기

docker image rm -f $(docker image ls -q)

-a 옵션은 상태와 관계 없이 모든 컨테이너를 보여준다.
-q 옵션은 container의 ID 만 출력한다.
-f 옵션은 실행중인 컨테이너도 삭제하도록 강제한다.

stop 상태인 컨테이너만 삭제하기

$ docker container prune

또는 아래처럼 filter를 사용해서 status가 exited 인 container만 삭제할수 있다.

$ docker rm $(docker ps --filter status=exited -q)

또는 xargs를 사용할수 있다.

$ docker ps --filter status=exited -q | xargs docker rm

컨테이너와 볼륨 같이 삭제하기

컨테이너와 연결된 볼륨을 같이 삭제한다.

$ docker rm -v 컨테이너이름

docker container prune

$ docker container prune

다음 내용들을 삭제한다.

  • 멈춘 container
  • 사용하고 있지않은 network
  • dangling image(생성하다 에러나서 이름없는 이미지)
  • build cache(image build할때 저장하는 캐시)

-a 옵션을 쓰면 사용하고 있지 않은 이미지도 모두 삭제한다.
-v 옵션을 쓰면 사용하고 있지 않은 볼륨도 모두 삭제한다.