gpt4 book ai didi

docker-registry - 如何从私有(private) Docker Registry 获取 "delete"镜像?

转载 作者:行者123 更新时间:2023-12-04 07:10:52 28 4
gpt4 key购买 nike

我正在为 docker 编写一个 API 客户端,而注册表 API 很难使用。我正在尝试从注册表中删除图像,但是我不断收到此错误

[ { code: 'UNSUPPORTED', message: 'The operation is unsupported.' } ]
我的步骤如下,
 >  GET http://localhost:5000/v2/
> registry/2.0
> registry/2.0
> GET http://localhost:5000/v2/_catalog/
> { repositories: [ 'alpine' ] }
> GET http://localhost:5000/v2/alpine/tags/list
> { name: 'alpine', tags: [ 'latest' ] }
> HEAD http://localhost:5000/v2/alpine/manifests/latest
> sha256:df73ed0973f15f40496c148330f9b559f0a5583c03f6ac8d26adadf6f4690aff
> DELETE http://localhost:5000/v2/alpine/manifests/sha256:df73ed0973f15f40496c148330f9b559f0a5583c03f6ac8d26adadf6f4690aff
[ { code: 'UNSUPPORTED', message: 'The operation is unsupported.' } ]
编辑
我正在更新我的问题,因为我找到了 REGISTRY_STORAGE_DELETE_ENABLED多变的。
我现在像这样运行注册表容器,
docker run -d -p 5000:5000 -e REGISTRY_STORAGE_DELETE_ENABLED=true --name registry2 registry
这会产生一个新的错误,
[ { code: 'MANIFEST_UNKNOWN', message: 'manifest unknown' } ]
显然 UNSUPPORTED错误,实际上意味着特定功能被禁用。
但是我读到的所有内容都说删除 list 的实体引用(来自 HEAD 请求的摘要)应该删除存储库。我只想使我的私有(private)注册表中的存储库无法访问,我认为已删除。
如何从私有(private)注册表中删除图像,使其无法被拉取?

最佳答案

即使这是一个老问题:解决方案很简单。

DELETE http://localhost:5000/v2/alpine/manifests/sha256:df73ed0973f15f40496c148330f9b559f0a5583c03f6ac8d26adadf6f4690aff

是错误的,因为摘要以 sha256: 为前缀.简单地删除前缀,然后删除是可能的:
DELETE http://localhost:5000/v2/alpine/manifests/df73ed0973f15f40496c148330f9b559f0a5583c03f6ac8d26adadf6f4690aff

关于docker-registry - 如何从私有(private) Docker Registry 获取 "delete"镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39801094/

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