提供 Docker 基础镜像

时间:2021-05-14 15:13:57

标签: image docker

我正在尝试自动提供每周创建的基本图像,例如centos、coreos 等在我们断开连接的基础设施中,包括 okd 和一个港口注册表。

为此,我使用了一个脚本 link,它下载 centos 核心包并将其导入到本地 docker 注册表中,其中包含“centos_base”存储库名称和当前 centos 版本的标签(例如 centos_base:7.9.2009) .我在脚本中添加了几行,以便将图像推送到相应的港口项目和存储库。

现在我想添加一些进一步的逻辑来清理仅来自特定存储库的旧图像(> 180d)并尝试一些命令,例如

docker image prune --filter "until=$(date +'%Y-%m-%dT%H:%M:%S' --date='-180 days')" --filter "reference='centos_base:*'"

Error response from daemon: Invalid filter 'reference'

这不起作用,因为不同 docker 命令的过滤器选项不一致...

你是如何解决这个话题的?

很高兴您对此有任何提示!

1 个答案:

答案 0 :(得分:1)

在文档中声明 docker image prune 命令仅支持:

  • 直到 (<timestamp>) - 只删除在给定时间戳之前创建的图像
  • label (label=<key>, label=<key>=<value>, label!=<key>, or label!=<key>=<value>) - 仅删除带有(或不带有,如果使用 label!=... )指定标签的图像。

https://docs.docker.com/engine/reference/commandline/image_prune/#filtering

所以你可能想试试这个参数

--filter "label=Repository=centos_base"