docker 注册表 v2 : get parent image name

标签 docker docker-registry

我想使用 dockerregistry api v2 获取当前镜像的父级。有可能吗?

我正在尝试构建具有父/子关系的所有 docker 镜像的树结构,为此我需要每个 docker 镜像的父级。我可以使用 GET/v2/_catalog 获取所有存储库,并通过 GET/v2//manifests/latest 获取每个存储库的 list ,但我不知道如何从中获取父级。

任何帮助将不胜感激。

最佳答案

如果您检查图像的 list ,您应该会在 JSON 输出中看到“v1Compatibility”部分的 block 。

如果您查看这些,您应该会看到基本图像信息。例如,当我在一张源自 Centos 7 的图像上运行此命令时:

curl --insecure https://myregistry:5000/v2/imagename/manifests/latest | grep -i centos

我明白了:

[...]
"v1Compatibility": "{\"id\":\"172ab63cd5e007f8b1dbd7659c2d9520bf9e50755c081f39d171a603ad5d0890\",\"parent\":\"0c908fa575ec22f872f78b12d9e57d132b67a683f7deacd9f02462c546bf52dd\",\"created\":\"2016-04-01T21:28:21.706982438Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) LABEL name=CentOS Base Image vendor=CentOS license=GPLv2 build-date=2016-03-31\"]}}"
"v1Compatibility": "{\"id\":\"3690474eb5b4b26fdfbd89c6e159e8cc376ca76ef48032a30fa6aafd56337880\",\"created\":\"2015-09-07T19:05:48.678585881Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) MAINTAINER The CentOS Project \\<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="98eda8a8abfbfbf4f7edfcb5f7e8ebd8fbfdf6ecf7ebb6f7eaff" rel="noreferrer noopener nofollow">[email protected]</a>\\u003e\"]}}"
[...]

解析此内容应该会为您提供所需的信息。

关于docker 注册表 v2 : get parent image name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36709225/

相关文章:

Docker:来自守护进程的错误响应:未能在网桥上创建端点 priceless_noether:

docker - 如何更改Docker中的默认分离键序列?

docker - Docker卷未显示Windows 10上正在运行的linux容器

Linux 命令输出作为另一个命令的特定位置的输入。?

go - 如何在 docker remote api 中创建容器? (go-dockerclient)

Docker Windows 本地注册表 : received unexpected HTTP status: 500 Internal Server Error

Docker 堆栈部署滚动更新卷问题

docker - 有没有一种简单的方法来使用 LDAP 配置 Docker Private Registry 2.0?

python - 启用 Universal Repos 时无法在 Dockerfile 中找到包 python3-pip

amazon-web-services - 结合使用AWS ECR和Portainer推/拉图像不起作用