【发布时间】:2016-04-19 05:21:22
【问题描述】:
我想使用 docker registry api v2 获取当前图像的父级。有可能吗?
我正在尝试构建具有父/子关系的所有 docker 图像的树结构,我需要每个 docker 图像的父级。我可以使用 GET /v2/_catalog 获取所有存储库,并通过 GET /v2//manifests/latest 获取每个存储库的清单,但我无法弄清楚如何让父级摆脱它。
任何帮助将不胜感激。
【问题讨论】:
我想使用 docker registry api v2 获取当前图像的父级。有可能吗?
我正在尝试构建具有父/子关系的所有 docker 图像的树结构,我需要每个 docker 图像的父级。我可以使用 GET /v2/_catalog 获取所有存储库,并通过 GET /v2//manifests/latest 获取每个存储库的清单,但我无法弄清楚如何让父级摆脱它。
任何帮助将不胜感激。
【问题讨论】:
如果您检查图像的清单,您应该会在 JSON 输出中看到“v1Compatibility”部分的块。
如果您查看这些,您应该会看到基本图像信息。例如,当我在一张源自 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 \\u003ccloud-ops@centos.org\\u003e\"]}}"
[...]
解析这应该会给你你想要的信息。
【讨论】: