代码之家  ›  专栏  ›  技术社区  ›  Or Assayag

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

  •  1
  • Or Assayag  · 技术社区  · 7 年前

    “现在还没有好的答案” 如何从私有注册表中删除图像 “在码头工人。

    已尝试下列操作:
    Can't delete Docker Image from Registry
    How to delete images from a private docker registry?
    How to "delete" an image from a private 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."}]}
    


    有人在这方面成功过吗?

    更新:
    我给出的链接中没有一个解决方案有效,仍然会出现“unsupported”错误。

    0 回复  |  直到 7 年前
        1
  •  0
  •   wei li    7 年前

    这是一个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)
    
        2
  •  -1
  •   krzsam    7 年前

    你可以通过DOCKER Web界面删除登录,打开图像库,改为“标签”标签,找到你想删除的图像——在右手边有一个按钮,看起来像垂直的三个点——当你点击它时,它显示选项“DeleDe-”如果删除此标记,则还会删除“常规”选项卡上的相关图像。 希望这是你想要达到的。

    推荐文章