How to push image to private docker registry

June 15, 2016 2k views
Docker

It's not a question. I don't know where I can post this tip

Today I tried to setup private docker registry on Ubuntu 14.04

Everything goes fine. I tried to build one docker image and tag
Next, I tried to push this image to private docker registry but I always receive "tls: oversized record received with length 20527"

I tried to search on google and changed /etc/default/docker (add --insecure-registry)


--insecure-registry hostname.goes.here:5000
--insecure-registry http://hostname.goes.here:5000

it fails. If I change to:
--insecure-registry=hostname.goes.here:5000

It works.

1 Answer

You will receive that error message either when when attempting to connect to a TLS (secure) socket without using TLS or attempting to connect to a non-TLS secured socket with TLS.

The configuration in /etc/default/docker may not be sourced in certain situations. It is an implementation detail of the init system (e.g. newer version of Ubuntu with systemd will not use this file). The best approach is to use Dockers own configuration files.

In /etc/docker/daemon.json, set:

{
  "insecure-registries" : ["example.com:5000"]
}

For more info (and the requisite warnings about using an insecure registry), see: https://docs.docker.com/registry/insecure/

Have another answer? Share your knowledge.