Hi everyone,
I am using a private registry on Ubuntu 18.04.1 LTS (with insecure access from Windows Server 2016).
Uploading Windows images from Windows Server 2016 works fine with registry version <= 2.6.2.
But if I use registry version >= 2.7.0, I get following error on the Windows console during docker push:
received unexpected HTTP status: 500 Internal Server Error
When I look into the logs of the registry container, I see messages like these:
manifest blob unknown: blob unknown to registry
I tested these configurations with different registry versions:
docker run -d -p 5000:5000 --restart always --name registry registry:2
docker run -d -p 5555:5000 --restart always --name registry registry:2
I attached the logs for registry 2.6.2 (good case) and registry 2.7.1 (bad case):
Logs_Registry_2.6.2.txt
Logs_Registry_2.7.1.txt
Tested with my own Docker image as well as with the hello-world image (both based on nanoserver).
The push of the Linux based hello-world image works fine, even with registry >= 2.7.0.
This is the docker version
output on Ubuntu:
Client:
Version: 18.09.1
API version: 1.39
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:35:31 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.1
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:02:44 2019
OS/Arch: linux/amd64
Experimental: true
This is the docker version
output on Windows Server:
Client:
Version: 18.09.1
API version: 1.39
Go version: go1.10.6
Git commit: 20b67756d0
Built: unknown-buildtime
OS/Arch: windows/amd64
Experimental: false
Server:
Engine:
Version: 18.09.1
API version: 1.39 (minimum version 1.24)
Go version: go1.10.6
Git commit: 20b67756d0
Built: 01/09/2019 17:09:57
OS/Arch: windows/amd64
Experimental: false
I found out, that the problem does not occur with registry 2.7, if I set the allow-nondistributable-artifacts
at the Docker client (in C:\ProgramData\docker\config\daemon.json
).
Of course this is only a workaround, not a real solution.
What goes wrong here?
Thanks in advance for your replies