在本地主机上,我可以使用docker image rm
或docker rmi
删除图片。
如果我当前的主机是Docker群中的管理器节点并且我希望在整个群中级联此操作,该怎么办?
当我第一次创建Docker服务时,图像被拉到了swarm中的每个节点上。删除服务不会删除图像,所有节点都会保留图像的副本。
如果有一种方法可以将图像“推送”到所有节点,那么很自然地应该有一种同样自然的方法来移除它们而无需SSH到每台机器上:'(另外,这是一个真正的问题。节点迟早不会有更多的磁盘空间!
答案 0 :(得分:1)
AFAIK现在没有这样的选择。每个节点都负责自己的清理工作。您可以使用命令docker system prune -f
来清除容器数据。
但只能使用docker rmi
删除已标记的图像。见下面的问题
答案 1 :(得分:0)
这是可行的。在管理器节点的 /etc/hosts
中创建主机条目,如下所示
1.1.1.1 node01
1.1.1.2 node02
1.1.1.3 node03
然后运行
for i in {01..03}; do ssh host$i "docker rmi $(docker images -q)"; done
警告:此命令将删除 /etc/hosts
中列出的所有节点上的所有图像。