Update 25 Nov 2016 - This issue is resolved in the DSM 6.1 Beta, hopefully it's coming down the line soon!

So most of my little bits an pieces (including this blog at present) are now hosted on my Synology NAS using Docker. It'll let me move stuff around if traffic increases but at the moment it suites me just fine.

Anyway a problem I've noticed recently is that the newer versions of Ghost weren't appearing in the tags list when I attempt to pull the image down.

Docker Screenshot

This is what you see in the WebUI for docker but if I look at the hub page there are tags for latest, 0.9 and 0.8 (and some others).

Docker Hub Tags Screenshot

So whats going on here. I don't pretend to be an expert in Docker so I do some digging and ask around. Surprisingly Synology came back to me fairly quickly (although initially reported a bug in Docker Hub) and pointed out that this is related to Docker Hub changing to a new API.

Essentially Docker Hub is running 2 versions of their API (v1 and v2). The V2 API is a big change from the first so both are still available. Here are the links to the tags for Ghost.

https://registry.hub.docker.com/v1/repositories/library/ghost/tags
https://registry.hub.docker.com/v2/repositories/library/ghost/tags/

If we look at both the JSON objects returned it becomes pretty obvious what is happening. The V1 API isn't sending out any of the newer tags.

Now I couldn't find anywhere official that points this out but asking in Docker IRC channels leads me to understand Docker Hub has now depracated the V1 API and as a result it is now Read Only.

End result is because Synology queries V1 first then if it doesn't return anything has a shot at V2 it's not getting the new tags.

Synology support tells me the next update to the Docker Package should remove support for the V1 API or at least query V2 first. If you want the update faster I encourage you to log support tickets with Synology.

The workaround is that you can use SSH to run docker commands straight on the Synology if you absolutely must have a tag that's not showing up.

TLDR : Synology is looking at old data from a deprecated API on Docker Hub for its tags. Issue will be fixed in a coming update.