**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.