当我运行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 image prune
删除“悬空”图像;那些没有标记的(例如<none>
)并且没有被任何正在运行的容器引用。
我发现docker image prune -a
更有用。它将删除正在运行的容器未使用的任何图像。从这个意义上讲,修剪-a是一个清理步骤,您可以在环境正常运行后执行此操作。
被称为悬空的图像可以安全移除。那些是没有标签的图像。当新的图像构建出现并且新图像使用<none>:<none>
标记留下悬挂图像时,它们会产生。
悬挂图像可以使用docker images --filter "dangling=true"
列出,可以通过运行docker image prune
删除。
这个命令对我也有用。
docker rmi $(docker images -f "dangling=true" -q)
清除所有未使用或悬空的图像,容器,卷和网络:
清理悬空的任何资源(图像,容器,卷和网络)(与容器无关):
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)