38

I've started pushing a new image, the scenario is something like this:

b57ecdb750f2: Pushing [====>                                              ]  43.57MB/473.9MB
9b7e4da6c261: Pushing [==================================================>]  18.94kB
21d523b40367: Pushed 
e18c77c6a7b1: Pushing [==================>                                ]  106.9MB/285.9MB
5ee5be8f332e: Pushed 
78a99e283d45: Retrying in 1 second 
98b9d6eacb01: Pushing [=========================================>         ]  95.06MB/114MB
96e14acce2fd: Retrying in 1 second 
787c930753b4: Pushing [==================================================>]  318.3MB/318.3MB
9f17712cba0b: Pushing [=======================>                           ]   56.9MB/122.6MB
223c0d04a137: Pushing [==================================================>]  45.18MB
fe4c16cbf7a4: Preparing 

All those layers being pushed at the same time are simply killing my internet connection, not allowing me to navigate and docker boycotting itself as many of those layers are uploaded with errors and restarting again and again.
Is there a way to upload a single layer at time?

Alter Lagos
  • 12,090
  • 1
  • 70
  • 92

3 Answers3

42

In Ubuntu, I added /etc/docker/daemon.json with:

{
  "max-concurrent-uploads": 1
}

and then sudo service docker restart.

Alter Lagos
  • 12,090
  • 1
  • 70
  • 92
11

As of this writing (on macOS), if you have the docker daemon running, open Preferences -> Daemon -> Advanced and include the json-like config: ... "max-concurrent-uploads": 1 Making sure your json syntax is correct then click Apply & Restart

Then subsequent docker pushes will only try to push one layer at a time

enter image description here

warren
  • 446
  • 6
  • 12
  • 4
    The UI has changed a bit, now it's in the docker engine section. Parameter remains the same as seen in https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file – Federico Jul 01 '20 at 00:19
7

You can specify a limit on concurrent layer uploads with a daemon flag. See the documentation here.

You need to set --max-concurrent-uploads when running the daemon.

johnharris85
  • 17,264
  • 5
  • 48
  • 52