Docker Image Tags are Case Sensitive

A quick post about pulling docker containers (this applies to docker run too)…when specifying the container image, the container image name and tag are case sensitive. We’re not going to discuss how much time troubleshooting it too me to figure this out…but let’s just say it’s more than I care to admit publicly. 

In this code you can see I’m specifying the following image and tag server:2019-rc1-ubuntu (notice the lowercase rc in the tag)

docker pull mcr.microsoft.com/mssql/server:2019-rc1-ubuntu 

Docker responds that it cannot find that image manifest

Error response from daemon: manifest for mcr.microsoft.com/mssql/server:2019-rc1-ubuntu not found: manifest unknown: manifest unknown 

If we specify server:2019-RC1-ubuntu (notice the uppercase RC in the tag)

docker pull mcr.microsoft.com/mssql/server:2019-RC1-ubuntu

Then docker is able to find that image and downloads it to my local machine

2019-RC1-ubuntu: Pulling from mssql/server
59ab41dd721a: Already exists
57da90bec92c: Already exists
06fe57530625: Already exists
5a6315cba1ff: Already exists
739f58768b3f: Already exists
e39f945bda21: Pull complete
6689ce95f395: Pull complete
ec004dcfdfb5: Pull complete
e44708601d04: Pull complete
Digest: sha256:a11facbda1b1cc299d4a37499ef79cd18e38bfb8e5dd7e45cc73670cc07772e5
Status: Downloaded newer image for mcr.microsoft.com/mssql/server:2019-RC1-ubuntu
mcr.microsoft.com/mssql/server:2019-RC1-ubuntu

Want to get a list of tags for a container image so you know what image and tags to specify? Here’s how you do that with curl.

curl -L  https://mcr.microsoft.com/v2/mssql/server/tags/list 

If you’re of the PowerShell persuasion (shout out to Andrew Pruski for this gem) here how you can generate a list of tags with Invoke-Webrequest

(Invoke-Webrequest https://mcr.microsoft.com/v2/mssql/server/tags/list).content