docker - 从 Private Docker Registry 中删除图像的方法

标签 docker registry containers docker-registry

我有一个 Private Docker Registry 设置,我已经将一些图像从其他机器推送到这个注册表。
它是一个 V2 注册表。
我不知道从存储库中删除图像的新方法,因为这些推送的图像没有在 CLI 中为“docker 图像”列出。

谁能建议我从磁盘中删除这些图像的正确方法?

非常感谢回答。

谢谢

最佳答案

我已经对其他问题发布了相同的答案。也许它对你有用。

我的注册表也遇到了同样的问题,然后我从博客页面尝试了下面列出的解决方案。有用。

第 1 步:列出目录

您可以通过调用此 url 列出您的目录:

http://YourPrivateRegistyIP:5000/v2/_catalog

响应将采用以下格式:
{
  "repositories": [
    <name>,
    ...
  ]
}

第 2 步:列出相关目录的标签

您可以通过调用此 url 列出目录的标签:
http://YourPrivateRegistyIP:5000/v2/<name>/tags/list

响应将采用以下格式:
{
"name": <name>,
"tags": [
    <tag>,
    ...
]

}

第 3 步:列出相关标签的 list 值

您可以在 docker 注册表容器中运行此命令:
curl -v --silent -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -X GET http://localhost:5000/v2/<name>/manifests/<tag> 2>&1 | grep Docker-Content-Digest | awk '{print ($3)}'

响应将采用以下格式:
sha256:6de813fb93debd551ea6781e90b02f1f93efab9d882a6cd06bbd96a07188b073

使用 list 值运行下面给出的命令:
curl -v --silent -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -X DELETE http://127.0.0.1:5000/v2/<name>/manifests/sha256:6de813fb93debd551ea6781e90b02f1f93efab9d882a6cd06bbd96a07188b073

第 4 步:删除标记的 list

在您的 docker registy 容器中运行此命令:
bin/registry garbage-collect  /etc/docker/registry/config.yml  

这是我的 config.yml
root@c695814325f4:/etc# cat /etc/docker/registry/config.yml
version: 0.1
log:
  fields:
  service: registry
storage:
    cache:
        blobdescriptor: inmemory
    filesystem:
        rootdirectory: /var/lib/registry
    delete:
        enabled: true
http:
    addr: :5000
    headers:
        X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3

关于docker - 从 Private Docker Registry 中删除图像的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43730680/

相关文章:

linux - 运行 Alpine Linux 的 Docker 容器中 rrdgraph 中的自定义字体

node.js - Dockerfile找不到我的包含之一

windows - 使用 PowerShell 设置嵌套的可扩展环境变量

aws-lambda - 资源处理程序返回消息 : "Invalid request provided: Updating PackageType is not supported"

django - Celery 在 AWS ECS 中不起作用

ruby-on-rails - 无法打开与本地主机 :3101 - Rails/Docker 的 TCP 连接

C++程序需要一个文件关联

windows - 在 Haskell 中获取本地 AppData 文件夹

docker - 为什么 Kubernetes 源代码比其他容器编排器大一个数量级?

docker - Kubernetes DNS 查找非常慢,ndots :5