从Nexus Repository Manager OSS 3.0.1-01中移除Docker镜像

时间:2016-08-08 19:24:04

标签: docker nexus devops

我一直在使用Nexus发布我的Docker镜像几个月,我真的很喜欢它添加到经典Docker Registry中的功能。

最近,我们存储的图像数量导致了磁盘空间问题。我环顾了图形界面,显然没有什么可以同时删除多个Docker图像。我知道有一个Nexus任务可以删除未使用的工件,但它似乎只适用于Maven和Nugget。

Nexus Repository Manager OSS 3.0.1-01是否有办法同时删除未使用的图像或至少多个图像?

谢谢!

4 个答案:

答案 0 :(得分:1)

是的,要定期清理旧的容器映像,您需要设置两个任务

  1. 清理容器图像
  2. 紧凑的Blob存储区。

第一个只是软删除(标记为删除),第二个任务是实际清理工作,因此请确保两者都做。

以下是步骤

  1. 登录到nexus存储库->设置->存储库->清理策略 ->创建清理策略
    1. 提供名称,将格式设置为 docker 指定条件。点击创建
    2. 选择存储库->存储库->
    3. 在“清理策略”中,选择您最近创建的清理策略
    4. 保存
    5. 从“管理”标签中选择任务
    6. 您将看到一个任务
    7. 选择创建任务->紧凑型Blob存储->选择默认的Blob存储并指定清理时间表。

上面创建的两个任务都将按照策略中定义的条件进行清理docker blob。

答案 1 :(得分:0)

似乎没有任何选项可以从Group Repository中删除组件,但您可以选择从Proxy或Hosted存储库中删除组件。

默认情况下,仅为admin用户启用删除组件功能。

here is screenshot for reference

答案 2 :(得分:0)

要在Nexus中显示此功能,应解决Docker Registry API中的一般问题,请参阅Deleting images from a private docker registry

答案 3 :(得分:0)

您可以使用registry-cli工具清理旧图像。例如,以下命令:

registry.py -l "login:password" -r https://your-registry.example.com --delete

将删除除最后10张图像以外的所有图像。