Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

Docker Push to Proget Container Registry fails



  • Docker Push to Proget Container Registry fails

    Whenever I push an image it never completes all the layers!

    pushing an image fails on 1 or more of the layers.
    It will push most of the layers (usually the smaller ones) and it will get to the end of the bigger layers and then retry pushing again & again,
    after a few attempts it fails.

    Sometimes it shows a simple EOF error
    Other times it’s an invalid digest error.

    Example:

    PS C:\ > docker login {My-Proget-URI}.uk
    Username: dockerrepo
    Password:
    Login Succeeded
    PS C:\ > docker push {My-Proget-URI}.uk/dockerrepo/teamcity-server:2019.1.2-linux
    The push refers to repository [{My-Proget-URI}.uk/dockerrepo/teamcity-server]
    469e05c1702a: Pushed
    730dce3e0461: Pushing [==================================================>] 1.237GB/1.237GB
    3efae2e4162b: Pushed
    ef2df751a4b5: Pushed
    4afa81dcce76: Pushed
    b8c3ef7eadb7: Pushed
    9ac650d610a0: Pushed
    b701c7a6f8ac: Pushed
    ca2bb65f907f: Pushed
    b9b7103af585: Pushed
    ca2991e4676c: Pushed
    a768c3f3878e: Pushed
    bc7f4b25d0ae: Pushed
    EOF

    and again…

    C:> docker push {My-Proget-URI}.uk/dockerrepo/teamcity-server:2019.1.2-linux
    The push refers to repository [{My-Proget-URI}.uk/dockerrepo/teamcity-server]
    469e05c1702a: Layer already exists
    730dce3e0461: Retrying in 1 second
    3efae2e4162b: Layer already exists
    ef2df751a4b5: Layer already exists
    4afa81dcce76: Layer already exists
    b8c3ef7eadb7: Layer already exists
    9ac650d610a0: Layer already exists
    b701c7a6f8ac: Layer already exists
    ca2bb65f907f: Layer already exists
    b9b7103af585: Layer already exists
    ca2991e4676c: Layer already exists
    a768c3f3878e: Layer already exists

    and again…

    PS C:> docker push {My-Proget-URI}.uk/dockerrepo/teamcity-server:2019.1.2-linux
    The push refers to repository [{My-Proget-URI}.uk/dockerrepo/teamcity-server]
    469e05c1702a: Layer already exists
    730dce3e0461: Pushing [==================================================>] 1.237GB/1.237GB
    3efae2e4162b: Layer already exists
    ef2df751a4b5: Layer already exists
    4afa81dcce76: Layer already exists
    b8c3ef7eadb7: Layer already exists
    9ac650d610a0: Layer already exists
    b701c7a6f8ac: Layer already exists
    ca2bb65f907f: Layer already exists
    b9b7103af585: Layer already exists
    ca2991e4676c: Layer already exists
    a768c3f3878e: Layer already exists
    bc7f4b25d0ae: Layer already exists
    received unexpected HTTP status: 500 Internal Server Error

    I basically re-tagged a good image that I’ve already pushed to Docker Hub.
    So I’m trying the same docker push from the same machines, I’ve set the tag for our new private Proget container registry and docker logged in Ok.

    Proget Setup:

    I’ve created a container in our Azure Kubernetes Service Cluster from the docker hub image: inedo/proget:5.2.7
    We’re using SQL Server.

    I have set the Web.BaseUrl, created an account and assigned a Task to the container registry feed for the User with Publish Packages permission

    Everything else seems to be working so far.
    I’ve logged in amended Admin password, created users, setup a package feed, pushed packages, downloaded packages. I added the extension & setup the OSS vulnerability scanner.

    After the failed push, looking on the container at the storage for packages I do see some blobs here:
    ls -l /var/proget/packages/.docker/F1/blobs/sha256/

    But, interestingly looking in the uploads folder there are a number of zero byte files!

    ls -l /var/proget/packages/.docker/F1/uploads/

    So, any ideas what’s preventing the image upload to container registry feed ?

    Could it be Linux Mono file permissions

    Thanks


  • inedo-engineer

    Hi Chris,

    This is a common issue that is related to Linux/Mono. ProGet Enterprise doesn't support Linux, is there anyway to use a Windows instance for your solution?

    Thanks,
    Jason



  • Hi @jjones
    We're using the provided Inedo Proget image (that is based on Mono).

    We want the convenience of pulling a docker image for ProGet.

    We have access to a Windows node pool, so yes we could run a Windows version, will there be a Windows based image?
    or at least a Dockerfile with the steps for manual install of ProGet?

    Thanks


  • inedo-engineer

    This is on our future roadmap; for now you'll need to install and manage as a normal windows application.


Log in to reply
 

Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation