我想为我们断开连接的容器基础设施(OKD,Harbor)提供几个基础镜像,这些镜像每周自动更新(重新创建),并且超过 XX 天的镜像会被删除。
为此,我采用了脚本它创建一个 centos 基础镜像,将其导入本地 docker 注册表(docker import tar 文件)然后将其推送到 harbor。
现在我想添加一个逻辑来仅修剪特定存储库中的图像以及仅修剪超过 XX 天的图像。
为此,我尝试了“docker image prune”命令的几种变体并设置了过滤器 - 据我了解,我可以设置如下过滤器:
docker image prune --filter "until=$(date +'%Y-%m-%dT%H:%M:%S' --date='-60 days')" --filter "label=Repository=centos_base:*"
#docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos_base 7.9.2009 54ab4ae0746a 10 hours ago 283MB
但带标签的过滤器似乎不能以这种方式工作:
# docker image ls --filter "label=centos_base"
REPOSITORY TAG IMAGE ID CREATED SIZE
因此我现在尝试在 base_images 上设置标签,但这假设您使用 Dockerfile,这对于我的目的来说似乎有点麻烦。
有没有办法在导入期间或之后添加标签,或者有没有完全不同且更实用的方法?
您如何处理这个话题?