Cómo Publicar una Imagen de Docker en Docker Hub con GitLab

Automatizando el proceso de creación de imágenes personalizadas

Mario García
DotTech
3 min readJul 1, 2020

--

Photo by Jonas Smith on Unsplash

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

Dockerfile

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:

Pipeline ejecutándose

Tu imagen estará disponible en Docker Hub para que puedas usarla en tus proyectos:

Imagen publicada en Docker Hub

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.

Programando la ejecución del pipeline

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!

--

--

Mario García
DotTech

Free Software Enthusiast, Speaker, #Mozillian, #Rustacean, #geek, #WebDeveloper