How to get remote access to a private docker-registry?
OK - I found the solution to this - after a day of digging.
For docker below 1.12.1:
It turns out that the new client version refuses to work with a private registry without SSL.
To fix this - the daemon on the client machine should be launched with the insecure flag:
Just type:
sudo service docker stop # to stop the service
and then
sudo docker -d --insecure-registry 10.0.0.26:5000
(replace the 10.0.0.26
with your own ip address).
I would expect the docker guys to add this option to the pull/push command line...
Edit - altenantively - you can add the flag to DOCKER_OPTS
env variable inside /etc/default/docker...
and then sudo service docker restart
Edit again - It seems that the docker guys are on it - and a fix will come soon: https://github.com/docker/docker/pull/8935
For docker 1.12.1:
Please follow below the answer of vikas027 (valid for centos)
This is what worked for me on CentOS 7.2 and Docker 1.12.1 (latest as on date). My private registry v2 was running on 192.168.1.88:5000
, change it accordingly. This also works if you have multiple registries, just keep on adding --insecure-registry IP:Port
$ sudo vim /usr/lib/systemd/system/docker.service
#ExecStart=/usr/bin/dockerd
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.1.88:5000
$
$ sudo systemctl stop docker
$ sudo systemctl daemon-reload
$ systemctl start docker
Edit the config file "/etc/default/docker"
sudo vi /etc/default/docker
add the line at the end of file
DOCKER_OPTS="$DOCKER_OPTS --insecure-registry=192.168.2.170:5000"
(replace the 192.168.2.170 with your own ip address)
and restart docker service
sudo service docker restart