Las tecnologías de contenedorización son cada vez más esenciales en los entornos empresariales actuales. Por lo tanto, se hace necesario disponer de un registro de imágenes Docker seguro y confiable. Harbor, un proyecto de código abierto, ofrece una solución sólida para almacenar y distribuir imágenes de contenedores en entornos nativos de la nube. En este artículo, te guiaremos paso a paso en la instalación del Registro de Imágenes Docker Harbor en un servidor Ubuntu 22.04.
Instalación de Docker CE (Community Edition)
Para desplegar Harbor a través de Docker, necesitamos instalar Docker CE (Community Edition) en nuestro servidor Ubuntu. Docker CE ofrece una variedad de opciones de instalación y, en esta guía, lo instalaremos desde el repositorio oficial de Docker.
Primero, instalamos algunas dependencias básicas utilizando el comando apt:
sudo apt install ca-certificates curl gnupg sb-release
Una vez instaladas las dependencias, necesitamos descargar la clave GPG para el repositorio de Docker y agregar el repositorio oficial de Docker a nuestro sistema. Ejecutamos los siguientes comandos:
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
A continuación, actualizamos el índice de paquetes utilizando el comando apt:
sudo apt update
Descarga del Instalador de Harbor y Configuración de la Instalación
Ahora que Docker está instalado, podemos proceder a descargar el paquete de instalación de Harbor y configurar la instalación. Harbor ofrece instaladores en línea y fuera de línea, y para esta guía, utilizaremos el instalador fuera de línea.
Descargamos el instalador fuera de línea en el directorio ‘/tmp’ utilizando el comando curl:
cd /tmp curl -s https://api.github.com/repos/goharbor/harbor/releases/latest | grep browser_download_url | cut -d '"' -f4 | grep'.tgz
Una vez completada la descarga, extraemos el paquete de instalación utilizando el comando tar:
tar -xzvf harbor-offline-installer-v2.6.1.tgz
Ahora, movemos el directorio ‘harbor’ a ‘/opt’ para establecer el directorio de instalación como ‘/opt/harbor’:
sudo mv harbor /opt/
Con el paquete de instalación de Harbor descargado y extraído, podemos proceder a configurar la instalación. Navegamos hasta el directorio de instalación de Harbor:
cd /opt/harbor
Copiamos la plantilla de configuración de harbor ‘harbor.yml.tmpl’ a ‘harbor.yml’ utilizando el comando cp:
cp harbor.yml.tmpl harbor.yml
Abrimos el archivo ‘harbor.yml’ utilizando un editor de texto como nano:
sudo nano harbor.yml
En el archivo de configuración, configuraremos el nombre de dominio para la instalación de Harbor, habilitaremos el HTTPS seguro, estableceremos una contraseña de administrador y configuraremos la base de datos. Realizamos los siguientes cambios en el archivo:
- Establecemos el nombre de host en el nombre de dominio o dirección IP que deseemos. Por ejemplo,
registry.miempresa.com
. - Descomentamos la sección ‘https’ y proporcionamos la ruta a nuestros archivos de certificado SSL y clave privada.
- Establecemos la ‘contraseña del administrador de harbor’ en una contraseña fuerte de nuestra elección.
- Configuramos la sección de la base de datos según nuestras necesidades.
Guardamos el archivo y salimos del editor. Nuestra instalación de Harbor ahora está configurada y lista para ser desplegada.
Instalación de Harbor a través del Script de Instalación y Docker Compose
Con el instalador fuera de línea de Harbor descargado y el archivo de configuración configurado, podemos proceder a instalar Harbor utilizando el script de instalación y Docker Compose. Antes de iniciar la instalación, nos aseguramos de que nuestro directorio de trabajo actual sea ‘/opt/harbor’. Para instalar Harbor, ejecutamos el siguiente comando con privilegios sudo:
sudo ./install.sh
El script de instalación realizará una serie de comprobaciones para asegurar que el sistema cumple con los requisitos para la instalación de Harbor. Verificará la presencia del motor Docker y Docker Compose. Si falta alguna dependencia, el instalador nos indicará que debemos instalarla.
Una vez que se cumplan los requisitos previos, el instalador procederá a extraer las imágenes necesarias para el despliegue de Harbor. Posteriormente, preparará el entorno del sistema y generará las configuraciones requeridas. Finalmente, comenzará el proceso de instalación.
Una vez completada la instalación, deberíamos ver la salida indicando que los servicios de contenedor de Harbor están en ejecución. Para verificar el estado de los servicios de contenedor, utilizamos el siguiente comando:
docker compose ps
Este comando mostrará los servicios de contenedor de Harbor en ejecución y en buen estado.
Acceso al Registro de Imágenes de Harbor y Administración Básica
Ahora que Harbor está instalado, verifiquemos su funcionalidad accediendo al registro de imágenes de Harbor y realizando tareas administrativas básicas.
Para acceder a la interfaz web de Harbor, abrimos nuestro navegador web y visitamos el nombre de dominio o la dirección IP asociada a nuestra instalación de Harbor, utilizando HTTPS. Por ejemplo, https://registry.miempresa.com/
. Deberíamos ver la página de inicio de sesión de Harbor.
Para iniciar sesión, utilizamos el usuario administrador por defecto y la contraseña que configuramos en el archivo ‘harbor.yml’. Una vez iniciada la sesión, nos encontraremos con el panel de control de Harbor, donde podremos gestionar nuestros proyectos y repositorios.
Para crear un nuevo usuario, nos dirigimos a la sección ‘Administración’, hacemos clic en ‘Usuarios’ y luego en el botón ‘NUEVO USUARIO’. Rellenamos los detalles para el nuevo usuario y guardamos los cambios. El nuevo usuario ahora podrá iniciar sesión en Harbor con sus credenciales.
Harbor organiza las imágenes de contenedor en proyectos. Por defecto, proporciona un proyecto llamado ‘biblioteca’. Para agregar un usuario a un proyecto, vamos al menú ‘Proyecto’ y hacemos clic en el proyecto deseado, como ‘biblioteca’. Desde allí, hacemos clic en ‘Miembros’ y luego en el botón ‘USUARIO’ para agregar un usuario al proyecto. Asignamos el rol apropiado al usuario, como ‘Administrador del Proyecto’, y guardamos los cambios.
Inicio de Sesión en Harbor a través del Cliente Docker y Envío de Imágenes
Para interactuar con Harbor utilizando la interfaz de línea de comandos (CLI) de Docker, necesitamos iniciar sesión en Harbor desde nuestra terminal. Nos aseguramos de que Docker esté instalado en nuestra máquina local y ejecutamos el siguiente comando:
docker login https://registry.miempresa.com/
Introducimos el nombre de usuario y la contraseña del usuario que creamos en el paso anterior. Una vez autenticados, ahora podemos descargar y subir imágenes al registro de imágenes de Harbor.
Para subir una imagen a Harbor, primero descargamos una imagen de un repositorio público utilizando la CLI de Docker. Por ejemplo, descargamos la última versión de la imagen ‘nginx’ con la etiqueta ‘alpine’:
docker pull nginx:alpine
Verificamos que la imagen se ha descargado correctamente ejecutando:
docker images
A continuación, etiquetamos la imagen con la dirección del registro de Harbor y el nombre del proyecto. Por ejemplo:
docker tag nginx:alpine registry.miempresa.com/library/nginx:alpine
Por último, subimos la imagen al registro de Harbor utilizando el siguiente comando:
docker push registry.miempresa.com/library/nginx:alpine
La imagen ahora estará cargada en el registro de imágenes de Harbor y asociada al proyecto especificado.
Para soluciones de alojamiento en la nube confiables y escalables, considera los servicios de Linux SSD VPS de Shape.host. Shape.host ofrece una infraestructura en la nube líder en la industria, asegurando que tus aplicaciones y datos estén alojados con alto rendimiento y seguridad. Visita Shape.host para obtener más información y comenzar a aprovechar el poder de la nube para tu negocio.