gpt4 book ai didi

docker - 如何在 Docker 命令行的 Docker 注册表中找到具有特定标记的 Docker 镜像?

转载 作者:IT老高 更新时间:2023-10-28 12:34:34 29 4
gpt4 key购买 nike

我尝试为 Docker 镜像定位一个特定标签。我怎样才能在命令行上做到这一点?我想避免下载所有图像,然后删除不需要的图像。

在 Ubuntu 官方版本中,https://registry.hub.docker.com/_/ubuntu/ ,有几个标签(为它发布),而当我在命令行上搜索时,

user@ubuntu:~$ docker search ubuntu | grep ^ubuntu
ubuntu Official Ubuntu base image 354
ubuntu-upstart Upstart is an event-based replacement for ... 7
ubuntufan/ping 0
ubuntu-debootstrap 0

同样在命令行search的帮助下https://docs.docker.com/engine/reference/commandline/search/ ,不知道它是如何工作的?

docker search命令中可以吗?

如果我使用原始命令通过 Docker registry API 进行搜索,则可以获取信息:

   $ curl https://registry.hub.docker.com//v1/repositories/ubuntu/tags | python -mjson.tool
[
{
"layer": "ef83896b",
"name": "latest"
},
.....
{
"layer": "463ff6be",
"name": "raring"
},
{
"layer": "195eb90b",
"name": "saucy"
},
{
"layer": "ef83896b",
"name": "trusty"
}
]

最佳答案

使用 CoreOS 时, jq 可用于解析 JSON 数据。

就像你之前做的那样,查看 library/centos:

$ curl -s -S 'https://registry.hub.docker.com/v2/repositories/library/centos/tags/' | jq '."results"[]["name"]' |sort
"6"
"6.7"
"centos5"
"centos5.11"
"centos6"
"centos6.6"
"centos6.7"
"centos7.0.1406"
"centos7.1.1503"
"latest"

现在可以使用更清洁的 v2 API,这就是我在示例中使用的。我将构建一个简单的脚本docker_remote_tags:

#!/usr/bin/bash
curl -s -S "https://registry.hub.docker.com/v2/repositories/library/$@/tags/" | jq '."results"[]["name"]' |sort

启用:

$ ./docker_remote_tags library/centos
"6"
"6.7"
"centos5"
"centos5.11"
"centos6"
"centos6.6"
"centos6.7"
"centos7.0.1406"
"centos7.1.1503"
"latest"

引用:

jq: https://stedolan.github.io/jq/ | apt-get install jq

关于docker - 如何在 Docker 命令行的 Docker 注册表中找到具有特定标记的 Docker 镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24481564/

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