본문 바로가기
[DevOps]/Docker

도커 이미지 & 컨테이너 삭제 명령어 정리

by 팡펑퐁 2023. 6. 21.
728x90

컨테이너 삭제 명령어

docker rm <containerId>
docker rm <containerName>
  • rm은 remove를 나타내며 컨테이너를 제거하는 역할을 한다.
  • 실행중인 컨테이너는 제거할 수 없기 때문에 컨테이너를 중지해야 한다.

 

docker rm <containerId1> <containerId2> <containerName1> ...
  • 공백을 이용한 나열을 통해 여러 컨테이너를 한 번에 지울 수 있다.

 

docker rm -f <containerId>
  • -f / —force를 플래그를 사용하여 컨테이너가 실행중일 때에도 강제로 제거할 수 있다.

 

docker run --rm <image>
  • 컨테이너를 실행하는 명령어 run에 —rm 플래그를 붙이면 컨테이너가 종료될 때 컨테이너를 자동으로 제거한다.
  • —rm 플래그를 통해 매번 중지된 컨테이너를 직접 정리하지 않아도 된다.
  • 서버가 포함된 컨테이너는 코드가 변경될 때 컨테이너를 중지하고 다시 이미지를 빌드하는 경우가 많은데 이때 일일이 중지된 컨테이너를 찾아 지울 필요가 없어지므로 유용하게 사용할 수 있다.

 

docker stop
  • 실행중인 컨테이너를 중지한다.
  • 실행중인 컨테이너가 있다면 docker stop으로 중지시킨 후 rm 명령을 사용하여 컨테이너를 제거할 수 있다.

 

 

이미지 삭제 관련 명령어

docker rmi <imageId>
docker rmi <imageName>
  • 도커 이미지를 제거하는 역할을 한다.

 

docker rmi <imageId1> <imageId2> <imageName1> ...
  • 공백을 이용한 나열을 통해 여러 이미지를 한 번에 지울 수 있다.

 

docker rmi -f <imageId>
  • 이미지에 태그가 여러 개 있거나, 컨테이너에서 사용 중일 때 도커에서 제거를 거부한다.
  • -f / —force를 플래그를 사용하여 제거할 수 없는 이미지를 강제로 제거할 수 있다.
  • 이미지가 제거되면 레지스트리에서 다시 가져오거나 로컬에서 다시 빌드하지 않는 한 해당 이미지를 기반으로 새 컨테이너를 실행할 수 없다는 점에 유의해야 한다.

 

docker image prune
  • 사용하고 있지 않은 모든 이미지를 제거한다.

 

docker rmi $(docker images -f "dangling=true" -q)
  • 댕글링 필터로 Tag가 none인 이미지만 삭제한다.
  • dangling 필터는 TAG가 없는(none)인 이미지만 필터링 해준다.
  • -f 옵션으로 dangling=true인 이미지들만 검색한 후 -q 옵션을 통해 이미지의 ID만 가져와서 rmi를 통해 삭제한다.

 

 

 

참고

Udemy - Dokcer & Kubernetes : 실전가이드

728x90