Fail to push large image to registry.gitlab.com

Summary

Images with reported layer sizes (when you are doing a docker push) of up to a few dozen MB can be pushed fine, though will sometimes retry a couple of times before succeeding. If you have image layers of hundreds of MB or GB, then this can take a very long time and require too long to be reasonable.

In my particular case I have strict bandwidth limits and this retrying really is more than a little annoyance.

Steps to reproduce

Attempt to push a very large image, observe it will retry many times before succeeding on larger images on slower connections.

Example Project

I have been trying to push https://gitlab.com/transcrobes/transcrobes/blob/master/dockerfiles/Dockerfile.corenlp to registry.gitlab.com/transcrobes/transcrobes/corenlp/chinese:3.9.2

What is the current bug behavior?

Multiple retries for each layer, larger (100MB+) layer. Failing in a loop, taking up massive amounts of bandwidth and not succeeding for larger images.

What is the expected correct behavior?

At most a couple of layer push failures per push attempt

Relevant logs and/or screenshots

...
561233343a27: Retrying in 20 seconds
...

with an eventual failure along the lines of

read tcp 192.168.43.184:45718->216.58.199.16:443: read: connection reset by peer

Pushing to Docker Hub requires no retries at all, even for the largest layers and works flawlessly (see https://hub.docker.com/r/transcrobes/corenlp-chinese/tags/).

Output of checks

This bug happens on GitLab.com

Edited Dec 08, 2018 by Anton Melser
Assignee Loading
Time tracking Loading