The Problem
I was attempting to follow the Docker “Getting Started” documentation and tried to run the “Hello World” Example and I got
C:\>docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world docker: no matching manifest for windows/amd64 10.0.16299 in the manifest list entries. See 'docker run --help'.
What does this mean ?
After much head-scratching and searching (mostly unhelpful posts about using Linux containers or “experimental mode”) I came across this article about docker manifests. It did not make much sense but after some more head-scratching I worked out what the error message meant.
I ran
C:\>docker manifest inspect hello-world:latest
And got (not all the file is listed):
{ "schemaVersion": 2, "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json", "manifests": [ { "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 524, "digest": "sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a", "platform": { "architecture": "amd64", "os": "linux" } }, ..... text chopped out for this post.... { "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 1357, "digest": "sha256:f9fea6a66184b4907c157323de7978942eab1815be146c93a578b01a3a43ad6d", "platform": { "architecture": "amd64", "os": "windows", "os.version": "10.0.17134.1006" } }, { "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 1046, "digest": "sha256:2bff08b2d77710d0a0a1608b35ea4dfdc28f698f6da86991c3da755968fa56d6", "platform": { "architecture": "amd64", "os": "windows", "os.version": "10.0.17763.737" } } ] }
The Answer
All the error means is that the docker image repository (the place on the internet where the docker hello world image is stored) does not have a version built for your version of windows. i.e. it has one for Windows 10.0.17134.1006 and Windows 10.0.17763.737 but not for my version of windows: Windows 10.0.16299
How hard would an error message to that effect be?