En este post explicaré la instalación y configuración de harbor (http://goharbor.io/), otro software que usaremos como registry de docker, con muchas más opciones qué el oficial y gratuito de docker.
Creamos la ruta /Aplicaciones, de no estar ya creada
Vamos a la ruta /Aplicaciones y descargamos el instalador offline, con el siguiente comando:
wget http://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.1.tgz
Descomprimimos el fichero, con el comando
tar xvf harbor-offline-installer-v1.7.1.tgz
Una vez descomprimido, accedemos a la carpeta harbor, y editamos el fichero harbor.cfg
cd harbor; vim harbor.cfg
Cambiamos los siguientes valores:
hostname = reg.mydomain.com por hostname = ip_del_equipo
harbor_admin_password = Harbor12345 por harbor_admin_password = password_seguro
Guardamos el fichero y ejecutamos la instalación con el siguiente comando:
./install.sh
La instalación, subirá las imágenes a docker, en el primer paso
En el segundo paso, configurará los contenedores
El tercer paso, es comprobar si ya existe una instalación previa
Y el cuarto y último paso, consiste en crear los contenedores arrancarlos.
Ya podremos acceder a harbor con la ip de la máquina, con el usuario admin y la contraseña definida en el fichero de configuración
Al acceder, vemos que tenemos un proyecto de acceso público. Primero, crearemos un usuario, para docker. Vamos a la sección de usuarios
Pulsamos en New User y rellenamos todos los datos que nos pide
Al pulsar ok, vemos que ya está creado
Volvemos a la página principal y pulsamos en New Project
En este ejemplo, le asignamos el nombre de imágenes, sin acento para que docker no nos de problemas y no marcamos la opción Public
En el proyecto, nos aparece un botón Push Image. Si lo pulsamos, nos indica los comandos para etiquetar y subir la imagen:
Para poder subir imágenes, tenemos que añadir el usuario al proyecto, para ello, dentro del proyecto, vamos a la pestaña Members y pulsamos en User
Escribimos el usuario docker y marcamos Developer
Nos indica harbor, qué el usuario está añadido correctamente y ya aparece en el listado:
Ahora, tenemos que configurar docker, para que nos permita loguearnos y usarlo, para ello, editamos el fichero /etc/docker/daemon.json o lo creamos
Le añadimos lo siguiente:
{
"insecure-registries" : ["ip_de_harbor"],
"disable-legacy-registry": true
}
Reiniciamos docker, para que tome los cambios
systemctl restart docker
Nos logamos contra el registry, con el siguiente comando:
docker login -u docker ip_de_harbor
Docker nos indica, que se ha logado correctamente y ya podemos hacer push de imágenes.
Ahora etiquetamos una imagen, para luego subirla al registry con el comando:
docker tag debian:latest ip_de_harbor/imagenes/debian:latest
y subimos la imagen, con el siguiente comando:
docker push ip_de_harbor/imagenes/debian:latest
Docker nos indica que ha subido correctamente la imagen. Vamos a Harbor, para comprobarlo.
En el repositorio nos aparece, efectivamente la imagen
Pulsamos dentro de ella, para ver los detalles
Si pulsamos en el cuadro de debajo de Pull Command, nos copia el comando para la descarga de la imagen
docker pull ip_de_harbor/imagenes/debian:latest
De querer o necesitar qué harbor funcione con http, seguiremos los pasos de la doc oficial
http://github.com/goharbor/harbor/blob/master/docs/configure_http.md
Un comentario