Cómo subir imágenes propias al Docker Hub

Cómo subir imágenes propias al Docker Hub

Ejecutar una aplicación dentro de un contenedor es de mayor utilidad si otras personas pueden utilizarla. La creación de un Dockerfile es un paso importante en ese proceso, junto con ponerlo a disposición de forma pública. Sin embargo, un camino más directo para lograr este objetivo consiste en subir nuestro trabajo a un registro global. Con eso en mente, esta guía te enseñará cómo subir imágenes propias al Docker Hub para beneficio de la comunidad. Este abordaje facilita la mejora permanente y refina el esfuerzo de todos.

Requisitos previos

Paso 0: Crea una cuenta en Docker Hub

Si todavía no dispones de una cuenta en Docker Hub, este es el momento de crearla. Caso contrario, puedes omitir este paso y continuar con el siguiente.

Para comenzar, haz clic en Sign Up para elegir un Docker ID (nombre de la cuenta) e ingresar tu correo electrónico junto con una contraseña segura. Para verificar que no eres un robot, se te pedirá que completes un desafío captcha:

A continuación, deberás elegir un plan que se adapte a tus necesidades y las de tu equipo. Para los propósitos de esta guía, elige el plan Personal. De todas maneras, es buena idea leer las características de cada uno para saber cuál es más conveniente si encuentras limitaciones en la opción gratuita. Finalmente, tendrás que confirmar tu correo electrónico antes de poder crear un repositorio personal.

Al hacer clic en el link que recibiste dentro del mensaje, llegarás a la pantalla de bienvenida. Recuerda que puedes descargar Docker Desktop si lo deseas, aunque en esta oportunidad continuaremos trabajando desde la terminal de Linux.

Paso 1: Creación de un repositorio

En la misma pantalla inicial verás los siguientes botones de acción:

Si bien este artículo está dedicado a la creación de un repositorio para alojar imágenes Docker propias, te sugerimos aprovechar de forma paralela los otros dos recursos. Familiarizarte con el funcionamiento del Docker Hub y leer la documentación para correr aplicaciones en contenedores son dos fuentes invaluables de información.

En este caso, haz clic en Create a Repository, elige un nombre junto con una descripción y finaliza presionando el botón que indica la imagen:

Como resultado, verás tu primer repositorio y podrás hacer el push de tu imagen a continuación.

Paso 2: Subir la imagen

Al final del post anterior ilustramos el build de una imagen que llamamos gacanepa/cursodonweb y a la que asignamos la etiqueta 1.0. Como puedes ver ahora, este nombre no es arbitrario, sino que está compuesto por un Docker ID seguido del repositorio destino. Con respecto a la elección de la etiqueta 1.0, corresponde a que consideramos a la imagen la primera versión estable de nuestro trabajo.

Desde la terminal, ejecuta el comando siguiente luego de reemplazar gacanepa por tu propio Docker ID:

sudo docker login --username gacanepa

Luego de ingresar la contraseña verás la advertencia que se observa debajo. Por el momento tu cuenta y contraseña se guardaron sin cifrar en el archivo /root/.docker/config.json. Por esa razón, te aconsejamos consultar la documentación para poner en funcionamiento un gestor de credenciales cuanto antes.

Además de ese mensaje, abajo también verás el comando para hacer el push de la imagen. Antes de presionar Enter, asegúrate de reemplazar gacanepa/cursodonweb:1.0 con el nombre y etiqueta correspondientes a tu imagen. La respuesta del comando incluirá el repositorio de destino.

sudo docker image push gacanepa/cursodonweb:1.0

Al finalizar, vuelve al repositorio desde tu navegador para verificar el estado de la imagen:

A partir de este momento, otras personas pueden descargar la imagen (a través de sudo docker image pull gacanepa/cursodonweb:1.0) o crear un contenedor en base a la misma:

sudo docker container run --name=pruebadonweb --publish 8080:80 --detach gacanepa/cursodonweb:1.0

¡Felicitaciones! Has subido tu primera imagen a un registro público y comprobado que puede usarse para generar un contenedor que la utilice.

Conclusión

En esta guía aprendiste cómo subir imágenes propias al Docker Hub. Gracias a eso, cualquier persona podrá utilizarlas para levantar un contenedor o emplearlas como base en otras. Esto es lo que significa contenerizar una aplicación y constituye la primera maravilla práctica de Docker.

¿Te resultó útil esta guía?

Imagen por defecto
Gabriel Cánepa
Gabriel trabaja actualmente como desarrollador full-stack en Scalar, una firma que se dedica a hacer valuaciones de empresas. Es Administrador de Sistemas certificado por la Fundación Linux y previamente ha escrito un gran número de artículos y contenidos técnicos sobre el tema para: DigitalOcean, Linode, Carrera Linux Argentina y Tecmint. Tiene una certificación en programación de la Universidad de Brigham Young-Idaho, y está completando las carreras de programador y analista de sistemas en la Universidad Nacional de Villa Mercedes (UNViMe). En su tiempo libre, Gabriel disfruta leyendo libros de Stephen R. Covey, tocando piano y guitarra, y enseñando conocimientos de programación a su dos hijas.

Deja un comentario