Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't push Windows based images to private registry >= 2.7.0 #2866

Open
MaGitKo opened this issue Feb 26, 2019 · 9 comments
Open

Can't push Windows based images to private registry >= 2.7.0 #2866

MaGitKo opened this issue Feb 26, 2019 · 9 comments

Comments

@MaGitKo
Copy link

MaGitKo commented Feb 26, 2019

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

What goes wrong here?

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.

Thanks in advance for your replies

@MaGitKo MaGitKo changed the title Can't upload Windows Docker images to private registry >= 2.7.0 Can't push Windows based images to private registry >= 2.7.0 Feb 26, 2019
@MaGitKo
Copy link
Author

MaGitKo commented Feb 27, 2019

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

@MaGitKo
Copy link
Author

MaGitKo commented Feb 28, 2019

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.

@dozer75
Copy link

dozer75 commented Apr 25, 2019

I can confirm this, for me the workaround is to stick on 2.6.2... :|

I can't deploy that setting on all computers that pushing images.

@yarglah
Copy link

yarglah commented May 20, 2019

I confirm issue with registry > 2.6.2 running on Debian stretch (Docker version 18.09.6, build 481bc77), from Windows server 2016 10.0.14393 (Docker version 18.09.6, build 481bc77), pushing deprecated images microsoft/windowsservercore:latest and newest images mcr.microsoft.com/windows/servercore:ltsc2016.

Works with registry:2.6.2.

@nsaboo
Copy link

nsaboo commented Nov 26, 2019

do we have a solution to push windows container images to registry > 2.7.0 version?

@AndreasHassing
Copy link
Contributor

AndreasHassing commented Aug 20, 2020

@stevvooe / @dmcgowan / @aaronlehmann: Can one of you provide some hints on how to solve this issue, so someone can pick it up from the community (I'll do it if it's not too difficult 😃).

Could potentially be a GoodFirstIssue; @MaGitKo provided some good logs to get started.

@alpharameeztech
Copy link

I had the same problem, I fixed it by disabling validation.
docker run -d -p 5000:5000 --name registry -e REGISTRY_VALIDATION_DISABLED=true registry:2

@AndreasHassing
Copy link
Contributor

Maybe caused by this?

gesellix added a commit to gesellix/docker-client that referenced this issue Aug 31, 2021
gesellix added a commit to gesellix/docker-client that referenced this issue Aug 31, 2021
gesellix added a commit to gesellix/docker-client that referenced this issue Aug 31, 2021
@geoidesic
Copy link

Any progress on this? I'm getting the same issue with:

    - docker build -t $CI_REGISTRY/app/docker-images/appclient .
    - docker push $CI_REGISTRY/app/docker-images/appclient

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants