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?
