User Tools

Site Tools


dockernexus

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 Ubuntu 16.x con configuración por systemd

/etc/default/docker

DOCKER_OPTS="--dns 10.12.1.50 --registry-mirror=https://nexus.uclv.edu.cu --insecure-registry nexus.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:
	 https://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=https://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.

dockernexus.txt · Last modified: 2017/01/27 15:24 by moliver