I just want to point out: My internet connection sucks. So 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?
(BTW, no, change my ISP or my crappy router is not an option)
In my Ubuntu, I added
/etc/docker/daemon.json
with:and then
sudo service docker restart
. Worked like a charm.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 & RestartThen subsequent docker pushes will only try to push one layer at a time
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.