如何判断哪些Docker图像可以安全删除?

问题描述 投票:1回答:4

当我运行docker image ls时,我看到了这一点

REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
<none>                         <none>              c012c1e2eb45        4 hours ago         2.59GB
<none>                         <none>              a2013debf751        5 hours ago         2.59GB
<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
<none>                         <none>              b94009e70416        13 days ago         631MB
<none>                         <none>              880d8e6713cf        2 weeks ago         631MB
b/2018-external                latest              128d208a6c83        2 weeks ago         207MB
2018-external                  latest              128d208a6c83        2 weeks ago         207MB
b/2018-web                     <none>              128d208a6c83        2 weeks ago         207MB
nginx                          latest              9e7424e5dbae        2 weeks ago         108MB
node                           8-alpine            4db2697ce114        4 weeks ago         67.7MB
b_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
b_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

我如何知道哪个图像可以安全删除?

我的注意力是将它们全部删除,但我不确定在这样做之前我是否应该更加满意。

docker containers docker-image
4个回答
2
投票

您可以使用docker image prune删除“悬空”图像;那些没有标记的(例如<none>)并且没有被任何正在运行的容器引用。

我发现docker image prune -a更有用。它将删除正在运行的容器未使用的任何图像。从这个意义上讲,修剪-a是一个清理步骤,您可以在环境正常运行后执行此操作。


1
投票

被称为悬空的图像可以安全移除。那些是没有标签的图像。当新的图像构建出现并且新图像使用<none>:<none>标记留下悬挂图像时,它们会产生。

悬挂图像可以使用docker images --filter "dangling=true"列出,可以通过运行docker image prune删除。


0
投票

这个命令对我也有用。

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

0
投票

清除所有未使用或悬空的图像,容器,卷和网络:

清理悬空的任何资源(图像,容器,卷和网络)(与容器无关):

docker system prune

删除所有已停止的容器和所有未使用的图像(不只是悬空图像):

docker system prune -a

删除一个或多个特定图像:docker rmi Image Image

删除悬空图像:docker images purge

根据模式删除图像:docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

删除所有图片:docker rmi $(docker images -a -q)

删除一个或多个特定容器:qazxsw poi在退出时删除容器(运行并删除):qazxsw poi

删除所有退出的容器:docker rm ID_or_Name ID_or_Name

使用多个过滤器移除容器:docker run --rm image_name

停止并删除所有容器:

docker rm $(docker ps -a -f status=exited -q)

来源文章:docker rm $(docker ps -a -f status=exited -f status=created -q)

© www.soinside.com 2019 - 2024. All rights reserved.