2017-12-12 17 views
0

나는 어떤 이미지가 제거 안전하게 있는지 어떻게 알 수 있습니까이안전하게 제거 할 Docker 이미지를 어떻게 알 수 있습니까? 내가 <code>docker image ls</code>을 실행하면

REPOSITORY      TAG     IMAGE ID   CREATED    SIZE 
app-bunlong     latest    46faf4e647e1  9 minutes ago  2.59GB 
<none>       <none>    c012c1e2eb45  4 hours ago   2.59GB 
<none>       <none>    a2013debf751  5 hours ago   2.59GB 
web-bunlong     latest    9da65074196b  5 hours ago   182MB 
<none>       <none>    0bbb2f67083c  5 hours ago   2.59GB 
<none>       <none>    af18b070061b  29 hours ago  182MB 
<none>       <none>    186a8fac122e  35 hours ago  1.67GB 
<none>       <none>    0f90c1bb12a3  35 hours ago  182MB 
bheng/bunlongheng-external  latest    70374ef1cb11  12 days ago   114MB 
bunlongheng-external   latest    70374ef1cb11  12 days ago   114MB 
bheng/bunlongheng-external  <none>    4d8cb528a4f3  13 days ago   207MB 
<none>       <none>    b94009e70416  13 days ago   631MB 
bheng/2018-web     latest    1fa699f171de  2 weeks ago   16.9MB 
bheng/bunlongheng-internal  latest    1fa699f171de  2 weeks ago   16.9MB 
2018-web      latest    1fa699f171de  2 weeks ago   16.9MB 
bunlongheng-internal   latest    1fa699f171de  2 weeks ago   16.9MB 
<none>       <none>    880d8e6713cf  2 weeks ago   631MB 
bheng/2018-external   latest    128d208a6c83  2 weeks ago   207MB 
2018-external     latest    128d208a6c83  2 weeks ago   207MB 
bheng/2018-web     <none>    128d208a6c83  2 weeks ago   207MB 
nginx       latest    9e7424e5dbae  2 weeks ago   108MB 
node       8-alpine   4db2697ce114  4 weeks ago   67.7MB 
bheng_web      latest    d5a0ea011c0a  5 weeks ago   182MB 
<none>       <none>    957c22ababec  5 weeks ago   182MB 
docker_web      latest    70b443ed0495  5 weeks ago   182MB 
docker_app      latest    509d58a68224  5 weeks ago   756MB 
bheng_app      latest    509d58a68224  5 weeks ago   756MB 
mysql       5.6     96dc914914f5  5 weeks ago   299MB 
mysql       latest    5fac85ee2c68  8 weeks ago   408MB 
redis       latest    1fb7b6c8c0d0  2 months ago  107MB 
alpine       3.6     76da55c8019d  2 months ago  3.97MB 
nginx       1.13.3-alpine  ba60b24dbad5  5 months ago  15.5MB 
keymetrics/pm2-docker-alpine 6     4a09bfc067d6  5 months ago  75.3MB 
dockercloud/cli    latest    051238cd0a37  6 months ago  64.2MB 
andrewmclagan/nginx-hhvm  latest    ec6cc741eb0e  7 months ago  580MB 
nginx       1.10    0346349a1a64  8 months ago  182MB 
php       7.0.8-fpm   75b880f3a420  17 months ago  375MB 
tutum/haproxy     latest    33bc771bec1e  18 months ago  232MB 
php       7.0.4-fpm   81d7a2fdc6dc  21 months ago  494MB 

참조?

내 관심은 모든 것을 제거하는 것이지만, 그렇게하기 전에 더 충만해야할지 잘 모르겠다.

+0

"안전하게"는 무엇을 의미합니까? Docker는 컨테이너에서 사용중인 이미지를 제거 할 수 없습니다. – teppic

+0

오케이. 그런 다음 머리를 감고 docker stop $ (docker ps -a -q)' 다음에'docker rm $ (docker ps -a -q)' – ihue

+0

을 쓸 수 있습니다. 현재 실행 중이 아닌 다른 컨테이너에 필요한 이미지를 제거하고 싶지 않습니다. – ihue

답변

2

docker image prune을 사용하면 "dangling"이미지를 제거 할 수 있습니다. 태그가 지정되지 않은 것 (예 : <none>) 컨테이너로 참조되지 않습니다.

docker image prune -a이 더 유용합니다. 실행중인 컨테이너에서 사용하지 않는 이미지는 제거됩니다. 이런 의미에서 prune -a는 환경이 올바르게 실행 된 후에 취할 수있는 정리 단계입니다.

1

이미지는 매달려있는 것으로 간주되어 안전하게 제거 할 수 있습니다. 그것들은 태그가없는 이미지입니다. 새로운 이미지 빌드가 나타나고 새 이미지가 매달려있는 이미지를 떠나는 태그를 <none>:<none> 태그와 함께 사용하면 결과가 나타납니다.

매달린 이미지는 docker images --filter "dangling=true"을 사용하여 나열 할 수 있으며 docker image prune을 실행하여 제거 할 수 있습니다.

0

이 명령은 나를 위해 작동합니다.

docker rmi $(docker images -f "dangling=true" -q)