하기처럼 docker 이미지를 출력하면 docker repository 와 tag가 <none>으로 출력되는 경우가 있다.

$  docker images
REPOSITORY                                    TAG                                   IMAGE ID       CREATED        SIZE
<none>                                               <none>                              4d78d3e67cb5   1 months ago   30.8GB

sys                                                      v1.4                                   d38be44fe367    1 weeks ago     20.8GB

    ... ...

opt                                                      v1.1                                   a38be45fe457     2 weeks ago     10.1GB

 

<none>으로 표기된 이미지를 삭제하지 않고 이름을 붙일 필요가 있다면, 하기 명령으로 repository와 tag를 부여할 수 있다.

docker image tag [image_id] [repository name:tag]

 

사례)

$ docker image tag 4d78d3e67cb5  test:v1.0

$ docker images

REPOSITORY                                    TAG                                   IMAGE ID       CREATED        SIZE
test                                                      v1.0                                   4d78d3e67cb5   1 months ago   30.8GB

sys                                                      v1.4                                   d38be44fe367    1 weeks ago     20.8GB

 

해당 원인은 여러 개가 있는데 주로 빌드 할 때, 이미 존재하는 레포지토리:태그명과 중복된 상태로 빌드하거나 이미지가 제대로 빌드 되지 않아서 발생하며 Dangling Image라고 부른다.

위처럼 repository와 tag 명을 강제로 붙여줄 수도 있으나 삭제하는 게 좋을 경우가 많다. 이 경우 하기 명령으로 삭제 한다.

아래 세 개 명령은 약간으 ㅣ차이는 있으나 모두 Dangling Image를 삭제하게 된다.

 

1) $ docker iamge prune

2) docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

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

 

 

반응형

+ Recent posts