繁体   English   中英

Docker - 如何从私有注册表中删除图像

[英]Docker - How to delete image from a private registry

对于 docker 中的如何从私有注册表中删除图像”,目前还没有好的答案。

已经尝试了以下方法:
无法从注册表中删除 Docker 映像
如何从私有 docker 注册表中删除图像?
如何从私有 Docker Registry 中“删除”镜像?
但以上似乎都不起作用。

和其他人一样,我已经尝试过:

DELETE /v2/orassayag/osr_streamer_nginx/manifests/sha256:051adb935bff30abba811fd64da28a5f3b19a48f07c74b067e3bd61ab91152b5 HTTP/1.1

DELETE /v2/orassayag/osr_streamer_nginx/manifests/051adb935bff30abba811fd64da28a5f3b19a48f07c74b067e3bd61ab91152b5 HTTP/1.1

并且每次都得到:

{"errors":[{"code":"UNSUPPORTED","message":"The operation is unsupported."}]}

有人成功了吗?

更新:
我提供的链接中的所有解决方案均无效,并且仍然出现“不受支持”的错误。

这是一个 python 脚本,删除私有注册表中的所有图像,它适用于我的私有注册表。

import requests
for repo in requests.get('https://192.168.2.31:5000/v2/_catalog', verify=False).json()['repositories']:
    headers = requests.get('https://192.168.2.31:5000/v2/%s/manifests/v1' % repo, headers = {'Accept': 'application/vnd.docker.distribution.manifest.v2+json'}, verify=False).headers
    if 'Docker-Content-Digest' in headers:
        requests.delete('https://192.168.2.31:5000/v2/%s/manifests/%s' % (repo, headers['Docker-Content-Digest']), verify=False)

您可以通过 Docker 网络界面删除标签 - 登录,打开图像所在的存储库,切换到名为“标签”的选项卡,找到要删除的图像 - 在右侧有一个按钮,看起来像垂直三个点 - 当您单击它时,它会显示“删除”选项 - 当您删除此标签时,这也会删除“常规”选项卡上的相关图像。 希望这是你试图实现的目标。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM