I’m writing some code that should interact with the registry and while it works fine with our private registry, it looks as though the central registry doesn’t speak the protocol as described in the registry api doc (the Tags section). I’m trying to fetch the image id of a tag, and according to the doc, it should return an image id in double-quotes. What index.docker.io is returning for the url
https://index.docker.io/v1/repositories/drewcsillag/skydns/tags/0.3
is
[{“pk”: 1197799, “id”: “2ca3215f”}, {“pk”: 1197798, “id”: “866e63b6”}, {“pk”: 1197797, “id”: “7ac724e3”}, {“pk”: 1197796, “id”: “4f9dccbb”}, {“pk”: 1197795, “id”: “8dc565d9”}, {“pk”: 1197794, “id”: “674f36e7”}, {“pk”: 4948795, “id”: “e54ca5ef”}, {“pk”: 4948794, “id”: “6c37f792”}, {“pk”: 4948793, “id”: “83ff7680”}, {“pk”: 4948792, “id”: “2f4b4d6a”}, {“pk”: 4948791, “id”: “d7ac5e4f”}, {“pk”: 4948852, “id”: “511136ea”}]
Is index talking a new protocol, or how is docker able to pull these things properly? I looked at the docker source, and it doesn’t look like it’s doing anything special…
Likewise, getting the tag list – not a specific tag returns something that looks wrong too:
[{“layer”: “2ca3215f”, “name”: “0.3”}]
Thinking I could just take the layer id and fetch, I tried fetching /v1/images/2ca3215f/json
and that didn’t work. Is there some magical header or query arg I should be passing to get doc-conformant behavior? Or is the new protocol documented somewhere?
Thanks,
Drew