【问题标题】:How to delete docker image data or layer in nexus3如何在nexus3中删除docker镜像数据或图层
【发布时间】:2019-04-08 18:45:05
【问题描述】:

我正在试用 nexus oss 3.0.1-01。我有一个 docker 存储库设置,并且能够成功推送和拉取图像。但我需要一种删除图像的方法。对于 docker,删除组件实际上不会从文件系统中删除实际的图像层,因为它可能被其他组件引用。那么,正确的处理方法是什么?

我什至删除了每个组件,然后运行计划任务来压缩 blob 存储。但这在释放存储空间方面似乎没有多大作用。

我的理解是,nexus3 目前还没有这个功能。如果有的话,你能指点我一些关于它的文件吗?否则,其他人如何管理 docker 存储库的存储空间?

【问题讨论】:

    标签: docker-registry nexus3


    【解决方案1】:

    我们最近有一个用户贡献了这个:

    https://gist.github.com/lukewpatterson/bf9d19410094ea8bced1d4bb0523b67f

    您可以在此处了解使用情况:https://issues.sonatype.org/browse/NEXUS-9293

    同样,Sonatype 即将推出支持此功能的功能。

    【讨论】:

      【解决方案2】:

      这是需要在 Docker Registry 级别提供的东西。目前它似乎在 v3.1 上被破坏了

      您是否尝试转到资产并删除图层?如果这没有从 blob 存储中删除文件以及紧凑型 blob 存储,那么这是 Nexus 问题。

      确保解决此问题并确认这是 3.2 所需的行为

      查看问题 https://issues.sonatype.org/browse/NEXUS-9497 https://issues.sonatype.org/browse/NEXUS-9293

      【讨论】:

      • 这没有回答问题如何在nexus3中删除docker图像数据或图层
      • @Tushar 答案是转到资产并删除图层。但是有一个开放的错误,所以目前已经被破坏了
      • @Astronaut - 删除资产/图层并删除它们不是一种选择。首先,仅通过查看 UI 中可用的信息,无法清楚地知道哪个图层属于哪个图像。其次,一个层可以被多个图像使用。所以,删除层不是要走的路。我在 Sonatype 问题板上看到了这个问题,并一直在关注它。很遗憾,目前还没有相关更新。
      【解决方案3】:

      在 Nexus 3.14 中,您转到 WebUI -> 任务 -> 创建 -> Docker - Delete unused manifests and images

      然后另一个工作 Admin - Compact blob store 到实际上 rm Nexus 目录中的文件。

      在此之前,您需要删除 Nexus 组件(使用清理策略+作业),就像原始海报所做的那样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-07
        • 2022-12-26
        • 2014-02-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-30
        • 2020-11-14
        相关资源
        最近更新 更多