我的服务器上有以下图像。
myrepo/oneimage:tag1
myrepo/oneimage:tag2
myrepo/secondimage:tag
myrepo/thirdimage:tag
我正在运行命令
docker image prune -a -f
来清理服务器上的所有 docker 镜像。但我希望该命令不要删除几个图像。因此,我在图像中添加了一个标签,即 LABEL imagename="myimage"
到 myrepo/oneimage:tag1
和 myrepo/oneimage:tag2
。我修改了 prune 命令如下,但它没有按我想要的方式工作。
docker image prune -f --filter label!=imagename="myimage"
- 不删除任何图像
docker image prune -f --filter="label!=imagename=myimage"
- 不删除任何图像
docker image prune -a -f --filter="label!=imagename=myimage"
- 删除所有图像,包括带有标签 imagename="myimage"
的图像
如何使用 docker image prune 删除除
myrepo/oneimage:tag1
和 myrepo/oneimage:tag2
之外的所有图像?
你可以试试这个方法:
myrepo/oneimage:tag1
和myrepo/oneimage:tag1
)。ImageID1
和 ImageID2
。docker rmi $(docker image | grep -v "ImageID1" | grep -v "ImageID2" | awk 'NR>1 {print $3}')
解释: