Configuración para usar el servicio de proxy docker de la UCLV
Para los usuarios que no disponen de una conexion a Internet rápida puede ser mas eficiente usar un registro local que haga de caché. En este tipo de configuración cuando un usuario pide una imagen esta queda almacenada para que otro usuario la pueda usar sin necesidad de descargarla nuevamente desde el repositorio original. Es una configuración muy útil para el proceso docente o el de puesta apunto.
Hay varias formas de intalar este servicio pero eso se aborda en otra seccion, aca solo nos centramos en la configuración que debe tener el cliente.
Para Debian 8 y 9 y Ubuntu 16.x con configuración por systemd
/etc/default/docker
DOCKER_OPTS="--dns 10.12.1.50 --dns 10.12.1.51 --registry-mirror=https://nexus.uclv.edu.cu --insecure-registry=nexus.uclv.edu.cu"
Si estas fuera de la UCLV debe ser asi;
DOCKER_OPTS="--registry-mirror=https://docker.uclv.edu.cu --insecure-registry=docker.uclv.edu.cu"
/lib/systemd/system/docker.service
[Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network.target docker.socket Requires=docker.socket [Service] Type=notify EnvironmentFile=/etc/default/docker ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity TimeoutStartSec=0 Delegate=yes KillMode=process [Install] WantedBy=multi-user.target
Actualizar el servicio:
systemctl daemon-reload service docker restart
Mirar
docker info
La salida debe contener esto:
... Registry: https://index.docker.io/v1/ ... Insecure Registries: nexus.uclv.edu.cu 127.0.0.0/8
Comprobar el paso de parametros con el comando ps y filtrar. Ver si se pasaron correctamente las opciones de los registros
# ps fax | grep docker 9165 pts/1 S+ 0:00 \_ grep docker 8445 ? Ssl 2:23 dockerd -H fd:// --dns 10.12.1.50 --registry-mirror=https://nexus.uclv.edu.cu --insecure-registry nexus.uclv.edu.cu
Despues de esto se puede instalar una imagen normalmente:
docker pull debian
Si todo va bien se pide al mirror-repository. Si este falla se intenta con el repositorio original de dcoker hub.
Configuración para Windows con boot2docker y VirtualBox
El proceso mostrado a continuación es si ya está creada la máquina virtual boot2docker.
- Editar el archivo %USER%\.docker\machine\machines\default\config.json
- Dentro de “EngineOptions”, ajustar “Dns”, “InsecureRegistry” y “RegistryMirror” como se muestra:
"EngineOptions": { "ArbitraryFlags": [], "Dns": [ "10.12.1.50" ], "GraphDir": "", "Env": [], "Ipv6": false, "InsecureRegistry": [ "nexus.uclv.edu.cu" ], "Labels": [], "LogLevel": "", "StorageDriver": "", "SelinuxEnabled": false, "TlsVerify": true, "RegistryMirror": [ "https://nexus.uclv.edu.cu" ], "InstallURL": "https://get.docker.com" },
- Salvar los cambios en el archivo config.json
- Apager e inciar la la VM default:
docker-machine stop default docker-machine start default
- Entrar a la VM defualt y comprobar que se activaron los nuevos cambios:
$ docker-machine ssh default $ docker info: [...] Insecure Registries: nexus.uclv.edu.cu 127.0.0.0/8 [...] Registry Mirrors: http://nexus.uclv.edu.cu [...] $ ps fax | grep docker 1500 ? Sl 00:01 /usr/local/bin/dockerd -D -g /var/lib/docker -H unix:// -H tcp://0.0.0.0:2376 --label --provider virtualbox --insecure-registry nexus.uclv.edu.cu --registry-mirror=http://nexus.uclv.edu.cu [...] 1506 ? Ssl 0:00 \ docker-containerd -l unix:///var/run/docker/libcontainerd.sock [...]
Después de esto se puede instalar una imagen normalmente:
$ docker pull debian
Si todo va bien se pide al mirror-repository. Si este falla se intenta con el repositorio original de dcoker hub.