2016-04-19 34 views
1

我想使用碼頭註冊表API v2獲得當前圖像的父母。可能嗎 ?。碼頭註冊表v2:獲取父圖像名稱

我想構建一個所有碼頭圖像與父/子關係的樹結構,我需要每個碼頭圖像的父項。我可以通過GET/v2 // manifests/latest使用GET/v2/_catalog &清單來獲取每個存儲庫的所有存儲庫,但我無法弄清楚如何讓父項出來。

任何幫助將不勝感激。

回答

3

如果您檢查圖像的清單,您應該在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 \\[email protected]\\u003e\"]}}" 
[...] 

解析這應該給你你想要的信息。

+0

在v1Compatibility中,我們有id字段,它可能是父圖像的id(歷史記錄中的最後一行)。但我無法弄清楚如何使用該ID獲取圖像名稱。 – Nari

+0

我只是跟隨id和父標識符的鏈,並且可以跟蹤鏈。但據我可以看到這些是按照時間順序倒序的圖層ID。意味着最年幼的孩子在列表之上。到目前爲止,我還沒有找到哈希映射/關聯,儘管您可以將整個歷史追溯到第一個臨時映像。 – Marakai