Distribution: Private registry push is very slow

Created on 31 May 2016  路  3Comments  路  Source: distribution/distribution

Hi Dockers,

I'm just trying to mount a private registry:2 container locally.
the hosting docker is a

Client:
 Version:      1.11.0
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   4dc5990
 Built:        Wed Apr 13 18:34:23 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.0
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   4dc5990
 Built:        Wed Apr 13 18:34:23 2016
 OS/Arch:      linux/amd64

The docker registry is running onto a

Client:
 Version:      1.11.1
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   5604cbe
 Built:        Tue Apr 26 23:11:07 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.1
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   5604cbe
 Built:        Tue Apr 26 23:11:07 2016
 OS/Arch:      linux/amd64

When I'm trying to tag & push some customized images, ita takes a huge amount of time to upload :
Nearly 64min to upload a 274MB layer ?!
Here is my docker-compose.yml for the registry part :

registry_data:
  image: registry:2
  command: /bin/true
  container_name: registry_data
registry:
  restart: always
  image: registry:2
  container_name: registry
  ports:
    - 5000:5000
  environment:
    REGISTRY_HTTP_TLS_CERTIFICATE: /var/lib/registry/certs/domain.crt
    REGISTRY_HTTP_TLS_KEY: /var/lib/registry/certs/domain.key
  volumes_from:
    - registry_data

Is there something wrong in my configuration ? Or are there some tricks to enhance this uploads ?

Thanks for your help

Most helpful comment

Just a note that this is not a networking issue, and continues to happen to this day. I have used private registries for years and they have always been extremely slow, even when pushing to a registry on the same machine. 500MB take around 20 - 30 minutes even when pushing locally. This has happened every time I have used the registry:2 image over the past few years.

All 3 comments

Not much to go on here, slowness is likely a characteristic of the network rather than the registry configuration. 64 min to upload 274MB sounds like there is something wrong is wrong with the network, no amount of process overhead or misconfiguration would cause that kind of performance. You can test this by pushing to your registry from same docker host that your registry is running on.

As for your configuration, it seems pretty basic. Are you using a custom build or mounting your certificates into the container, something seems missing.

This is almost certainly a network issue. I'm closing.

Just a note that this is not a networking issue, and continues to happen to this day. I have used private registries for years and they have always been extremely slow, even when pushing to a registry on the same machine. 500MB take around 20 - 30 minutes even when pushing locally. This has happened every time I have used the registry:2 image over the past few years.

Was this page helpful?
0 / 5 - 0 ratings