我想使用 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/