도커 이미지를 빌드하다보면 위와 같은 이미지들이 쌓이곤 하는데 일일히 ID입력해서 지우기는 너무 번거롭습니다. 이미지들을 일괄적으로 한번에 삭제하는 방법을 알아보겠습니다.
docker rmi $(docker images -f "dangling=true" -q)
dangling 필터는 TAG가 없는(none)인 이미지만 필터링 해주므로 -f 옵션으로 dangling=true인 이미지들만 검색한 후
-q 옵션을 통해 이미지의 ID만 가져와서 rmi를 통해 삭제해주는 명령어 입니다.
- image is being used by stopped container <CONTAINER ID>
위와 같은 에러 메시지가 뜨면서 삭제할 수 없는데 이는 Stopped된 컨테이너에서 해당 이미지를 사용하고 있기 때문입니다.
이 경우 -f 옵션을 추가하여 이미지를 사용되고 있는 컨테이너가 있더라도 강제로 삭제됩니다.
docker rmi -f $(docker images -f "dangling=true" -q)