Cómo Publicar una Imagen de Docker en Docker Hub con GitLab
Automatizando el proceso de creación de imágenes personalizadas
Introducción
Si necesitas crear una imagen de Docker personalizada, que incluya las herramientas que necesitas para tus proyectos, una forma de automatizar el proceso de construcción y publicar esa imagen en Docker Hub es usando GitLab CI (el sistema de integración continua de GitLab).
Pasos a seguir
Primero debes crear un nuevo proyecto en GitLab y agregar un Dockerfile con instrucciones de cómo construir esa imagen. El siguiente Dockerfile es de una imagen que contiene herramientas de desarrollo para Python y Rust, está basada en la imagen oficial de Docker de Rust, que puedes encontrar aquí.
Agregando variables de entorno
Después debes dirigirte a Settings
=> CI/CD
, hacer click en Expand
en la sección Variables
y agregar las siguientes variables:
CI_REGISTRY
CI_REGISTRY_IMAGE
CI_REGISTRY_PASSWORD
CI_REGISTRY_USER
CI_REGISTRY_USER
debe contener tu usuario de Docker Hub.
CI_REGISTRY_PASSWORD
debe contener tu contraseña de Docker o tu token de acceso (Si tienes 2FA activada).
CI_REGISTRY
debe contener docker.io
.
CI_REGISTRY_IMAGE
debe contener index.docker.io/username/image_name
.
Configurando GitLab CI
Ahora debes configurar GitLab CI, agregando el archivo .gitlab-ci.yml
. El contenido de este archivo es (también puede crearse eligiendo una plantilla desde el editor) el siguiente:
.gitlab-ci.yml
Una vez que agregues este archivo, el pipeline se ejecutará, tal y como podemos observar en la siguiente imagen:
Tu imagen estará disponible en Docker Hub para que puedas usarla en tus proyectos:
Programando la ejecución del pipeline
Finalmente, si quieres que el proceso de construcción sea ejecutado diariamente, semanalmente o a determinado tiempo según necesites, puedes programar la ejecución del pipeline desde la configuración del repositorio.
Para ello debes dirigirte a CI/CD
=> Schedules
, dar click en New schedule
y configurar de acuerdo a lo que necesites.
Conclusión
En este artículo hemos visto cómo publicar una imagen de Docker en Docker Hub utilizando GitLab. También hemos hablado sobre cómo programar la ejecución del pipeline, para que el proceso de construcción se ejecute cuando lo necesitemos.
Si te ha gustado el artículo, ¡No dudes en darle un aplauso y dejar un comentario!