dangling 이미지 삭제
도커를 사용하다보면 <none> 태그의 이미지들이 쌓이게 됩니다. 이미 동일한 태그를 갖고 있는 이미지가 존재하는데 새로운 이미지를 Pull하게 되었을 때 기존 이미지의 태그는 <none>으로 변경되고, 이를 dangling 이미지라고 부릅니다.
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
namepgb/rw-private 1.0-test 284a7fbc3615 18 minutes ago 840MB
namepgb/rw-private <none> 2be9a90780a6 19 hours ago 840MB
namepgb/rw-private <none> 3392e04687ac 19 hours ago 840MB
dangling 이미지를 확인하려면 다음 명령어를 사용합니다. -f 플래그는 필터를 지정하는 태그입니다.
$ docker images -f dangling=true
REPOSITORY TAG IMAGE ID CREATED SIZE
namepgb/rw-private <none> 2be9a90780a6 19 hours ago 840MB
namepgb/rw-private <none> 3392e04687ac 19 hours ago 840MB
dangling 이미지의 ID만 출력하려면 다음과 같습니다. -q 플래그는 이미지의 ID만 출력합니다.
$ docker images -f "dangling=true" -q
2be9a90780a6
3392e04687ac
모든 dangling 이미지를 삭제하려면 다음과 같습니다. rmi 명령어를 사용하여 이미지를 삭제하는데, 선행 명령어로 dangling 이미지의 ID를 추출하여 인자로 전달합니다.
$ docker rmi $(docker images -f "dangling=true" -q)
prune을 사용한 dangling 이미지 삭제
Docker API 1.25 버전 이상부터 prune 명령어를 지원합니다. prune은 사용하지 않는 리소스를 정리하기 위해 호출하는데, 도커의 컨테이너와 이미지, 네트워크, 볼륨 등에 걸쳐 사용 할 수 있습니다.
다음과 같이 prune을 사용하면 태깅되지 않은 이미지(<none> 태그의 이미지)를 삭제할 수 있습니다.
$ docker image prune
-a 플래그를 추가하면 dangling 이미지 외에도 미사용 이미지 전체를 삭제 할 수 있습니다.
$ docker image prune -a
'DevOps & Infra > Docker' 카테고리의 다른 글
[Infrastructure/Docker] 로컬 및 원격에서 syslog 로깅 드라이버 구성하기, syslog 로그 파일 경로 (0) | 2022.04.13 |
---|---|
[Infrastructure/Docker] 도커 컨테이너 로그 파일 경로, MacOS 환경에서 로그 파일을 찾을 수 없는 문제 (0) | 2022.04.13 |
[Infrastructure/Docker] 도커 로깅 드라이버 (0) | 2022.04.02 |
[Infrastructure/Docker] 도커 컨테이너 로그 출력, docker logs 명령어와 플래그 (0) | 2022.04.02 |
[Infrastructure/Docker] 도커 비지박스(BusyBox) 사용하기 (0) | 2022.04.02 |