如何通过命令行从docker hub删除docker镜像?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过命令行从docker hub删除docker镜像?相关的知识,希望对你有一定的参考价值。

我创建了docker镜像以便在我的Jenkins管道中进行测试,将其上传到Docker hub并将其部署到Kubernetes。在测试过程结束时,我想从Docker hub(而不是从测试机器)中删除测试图像。如何从命令行删除docker hub映像?

答案

使用Docker Hub API,如:https://docs.docker.com/v1.7/reference/api/docker-io_api/#delete-a-user-repository中所述

我刚用curl测试了一个测试图像的删除:

curl -X DELETE -u "$user:$pass" https://index.docker.io/v1/repositories/$namespace/$reponame/

分别用Docker Hub上的用户名和密码替换$user$pass;并取代$namespace(在我的情况下,它与$user相同)和$reponame与图像名称(在我的情况下是test)。

另一答案

有可能的。有关Chrome中的快捷方式,即打开开发工具,请转到网络标签。从Docker Hub手动删除标记。您将在dev工具的网络选项卡上看到一个请求,该请求转到https://cloud.docker.com/v2/repositories/ / tags /。只需右键单击该请求,复制,复制为卷曲。应该看起来像这样......

curl“https://cloud.docker.com/v2/repositories/ / tags //”-X DELETE -H'Pragma:no-cache'-H'原产地:https://cloud.docker.com'-H'接受编码:gzip,deflate,br'-H'接受语言:en-US ,en; q = 0.9'-H'用户代理:Mozilla / 5.0(Macintosh; Intel Mac OS X 10_13_6)AppleWebKit / 537.36(Khtml,类似Gecko)Chrome / 72.0.3626.121 Safari / 537.36'-H'接受:应用程序/ json'-H'Cache-Control:no-cache'-H'Referer:https://cloud.docker.com/user/repository/registry-1.docker.io/reponame/tags'-H'Cookie:' - 压缩

另一答案

Dockerhub有一个REST后端,然后你可以使用它...它只是跳过FE ...

例如:

export USERNAME=myuser
export PASSWORD=mypass
export ORGANIZATION=myorg (if it's personal, then it's your username)
export REPOSITORY=myrepo
export TAG=latest

curl -u $USERNAME:$PASSWORD -X "DELETE" https://cloud.docker.com/v2/repositories/$ORGANIZATION/$REPOSITORY/tags/$TAG/

这将删除一个标签......

在我的情况下,我有微服务,然后REPOSITORY =微服务名称......

如果我想删除所有旧图像,我可以迭代这个....

以上是关于如何通过命令行从docker hub删除docker镜像?的主要内容,如果未能解决你的问题,请参考以下文章

如何从命令行从 pdf 中删除隐藏的裁剪元素?

如何通过命令行从多个文件夹中获取完整文件名到 csv

如何使用命令行从私有 github 存储库下载单个原始文件?

通过命令行从 TFS 签出存储库

通过命令行从 FXCop 中排除规则

通过命令行从 unittest.TestCase 运行单个测试