gpt4 book ai didi

Docker Registry 2.0 - 如何删除未使用的图像?

转载 作者:IT老高 更新时间:2023-10-28 12:34:36 24 4
gpt4 key购买 nike

我们将私有(private) docker 注册表更新为官方 Registry 2.0。这个版本现在可以删除由标签标识的 docker 图像(参见 https://docs.docker.com/registry/spec/api/#deleting-an-image ),但我仍然看不到清理旧图像的方法。

由于我们的 CI 服务器不断生成新图像,我需要一种方法来从私有(private)注册表中删除不再由命名标记标识的所有图像。

如果没有内置方法来实现这一点,我认为自定义脚本可能会起作用,但我也没有看到 v2 API 方法来列出图像的所有存储主题标签。

如何保持我的私有(private)注册表清洁?有什么提示吗?

最佳答案

删除图像(您可以保留 10 个最新版本,就像我在 CI 中所做的那样)分三个步骤完成:

  1. 通过设置环境变量 REGISTRY_STORAGE_DELETE_ENABLED: "true" 启用图像删除并将其传递给 docker-registry

  2. 在脚本下面运行(它将删除所有图像和标签,但保留最近 10 个版本)

    registry.py -l user:pass -r https://example.com:5000 --delete --num 10

  3. 运行垃圾回收(你可以把它放到你的日常 cron 任务中)

    docker-compose -f [path_to_your_docker_compose_file] run registry bin/registry garbage-collect /etc/docker/registry/config.yml

registry.py 可以从下面的链接下载,它还允许列出图像、标签和层,以及删除特定的图像和/或标签。

https://github.com/andrey-pohilko/registry-cli

在垃圾收集之前,我的注册表文件夹是 7 Gb,在我运行上述步骤后,它会缩小到 1 Gb。

关于Docker Registry 2.0 - 如何删除未使用的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29802202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com