본문 바로가기

Docker

[Docker] none 태그 이미지 삭제하기

728x90

개요

Docker를 가지고 이미지 작업을 할 경우 조금만 지나도 <none> 태깅이 된 이미지가 많이 쌓여있게 됩니다. 하나씩 IMAGE ID를 가지고 삭제하기는 너무 번거롭고, 한번에 처리할 명령어를 알려드리고자 합니다.

명령어

docker rmi $(docker images -a | grep "<none>" | awk '{print $3}')

<none> 태그 삭제

일단, 현재 구성된 <none> 태그의 이미지를 확인해보겠습니다.
$ docker images
REPOSITORY TAG                 IMAGE ID            CREATED             SIZE
test-web   latest              102fe59d8ba3        8 minutes ago       189 MB
test       latest              f1cdb2e0b5f6        13 minutes ago      1.82 GB
test       <none>              288ebd00b23a        7 days ago          10.8 GB
test-web   <none>              1a0ad75dffd8        7 days ago          450 MB
test       <none>              a54113aa7295        8 days ago          10.8 GB
test       <none>              c887ec7e65c3        8 days ago          10.7 GB
test       <none>              d42d4c94851d        8 days ago          10.7 GB
test       <none>              fc55e41487a2        8 days ago          10.6 GB
test-web   <none>              b670b35c038e        8 days ago          443 MB
test-web   <none>              35054e992520        8 days ago          437 MB
test       <none>              63a8841557b8        9 days ago          10.5 GB
test       <none>              5e781ee59178        9 days ago          10.5 GB
test       <none>              128a4156e2ea        9 days ago          10.4 GB
test       <none>              38283d80f40f        9 days ago          10.4 GB
test       <none>              9eb74b71aa3d        10 days ago         10.3 GB
test-web   <none>              39ecd25437be        10 days ago         430 MB
test       <none>              cd46c85bba8c        10 days ago         10.3 GB
test       <none>              0bf38387cff6        10 days ago         10.2 GB
test       <none>              545820a166b0        10 days ago         10.2 GB
test-web   <none>              52b431ae90bb        10 days ago         424 MB
test-web   <none>              dadda47acc02        11 days ago         417 MB
test       <none>              043bea1618b8        11 days ago         10.1 GB
test       <none>              056597ebd6a7        12 days ago         10.1 GB
test       <none>              acb028ca3cac        12 days ago         10 GB
test-web   <none>              84d69e367ddd        12 days ago         411 MB
test-web   <none>              9bc2fceae03d        12 days ago         404 MB
$ 

 

그럼 사용되지 않는 <none> 태그 이미지를 삭제해보겠습니다.

$ docker rmi $(docker images -a | grep "<none>" | awk '{print $3}')
Untagged: test@sha256:a344d4f10fc3493b566e2052a50280a27ffcd80ac72662c95044bcde56a28ea5
Deleted: sha256:288ebd00b23a4d4680352261260b9452999f6016f460ef18730eda909982d6a8
Deleted: sha256:f0a4416a90bb7be4f43d0216d8714d00bc9bf56ec1e3105b515026621d2c59ef
Untagged: test-web@sha256:781a7aea63c19f21d00657889673253e6af20522e0ae97c8a9276d62c29c132c
Deleted: sha256:1a0ad75dffd8277e6f633bb1c9300b79eb4e3b42c6496d58960670f04a8d2d19
Deleted: sha256:49382b704c210a60ae3e7a5f0e2ba19f26b91f27ac41c87c97ad0b624e9c96ea
Untagged: test@sha256:f68a6f33d9e6ea94823dce23b6d1c4d77fbaaa728219f159ab8422af778b7db6
Deleted: sha256:a54113aa72950999ba023db2acf7df9168a4ffd754a2041fdf31f9b77d15b32f
Deleted: sha256:3a402830583375ef9a2a836326bcca9c7d59d65901b0d7b757e5ff201429a6ab
....

$ docker ps -a
REPOSITORY TAG                 IMAGE ID            CREATED             SIZE
test-web   latest              102fe59d8ba3        8 minutes ago       189 MB
test       latest              f1cdb2e0b5f6        13 minutes ago      1.82 GB

 

방법은 $를 활용하여 <none> 태그 이미지 목록을 파라미터로 넘기는 것 입니다.

 

모든 이미지의 목록을 조회한 뒤(docker images -a), 조회한 결과에서 <none> 단어를 찾고(grep "<none>"), 결과에서 3번째 값을 출력하는 것 입니다(awk '{print $3}').

반응형