Tengo un docker 1.12 que se ejecuta en CentOS. Estoy tratando de añadir el registro inseguro a él y las cosas mencionadas en la documentación simplemente no funcionan. El sistema utiliza systemd
así que he creado un archivo /etc/systemd/system/docker.service.d/50-insecure-registry.conf
.
$ cat /etc/systemd/system/docker.service.d/50-insecure-registry.conf
[Service]
Environment='DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"'
Después de cargar el demonio y reiniciar el servicio docker, systemd muestra que la variable de entorno está ahí
$ sudo systemctl show docker | grep Env
Environment=DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"
Pero cuando ejecuto docker info
no veo ese registro inseguro añadido
$ docker info
........
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Insecure Registries:
127.0.0.0/8
El envío de imágenes a hostaneme.cloudapp.net
falla con
Pushing application (hostname.cloudapp.net:5000/application:latest)...
The push refers to a repository [hostname.cloudapp.net:5000/mozart_application]
ERROR: Get https://hostname.cloudapp.net:5000/v1/_ping: http: server gave HTTP response to HTTPS client
¿Hay algo que se pueda hacer? ¿Me estoy perdiendo algo?
ACTUALIZACIÓN
Resuelto el problema añadiendo un archivo /etc/docker/daemon.json
con el siguiente contenido
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
Y luego reiniciar docker
sudo systemctl daemon-reload
sudo systemctl restart docker
Después de que el registro inseguro hostname.cloudapp.net:500
funciona.
Creando el archivo /etc/docker/daemon.json y añadiendo el siguiente contenido y luego haciendo un reinicio de docker en CentOS 7 se resolvió el problema.
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
La solución con el archivo /etc/docker/daemon.json
no me funcionó en Ubuntu.
Pude configurar los registros inseguros de Docker en Ubuntu proporcionando opciones de línea de comandos al demonio Docker en el archivo /etc/default/docker
, por ejemplo:
# /etc/default/docker
DOCKER_OPTS="--insecure-registry=a.example.com --insecure-registry=b.example.com"
De la misma forma se puede configurar el directorio personalizado para el almacenamiento de imágenes y volúmenes Docker, los servidores DNS por defecto, etc.
Ahora, después de que el demonio Docker se haya reiniciado (tras ejecutar sudo service docker restart
), al ejecutar docker info
se mostrará:
Insecure Registries:
a.example.com
b.example.com
127.0.0.0/8