Saltar al contenido principal

🚀 Publicar una imagen en Docker Hub

Hasta ahora hemos aprendido a crear y ejecutar imágenes de Docker de forma local.

El siguiente paso natural consiste en compartir esas imágenes para que cualquier persona pueda utilizarlas.

Para ello Docker proporciona Docker Hub, el registro público de imágenes más utilizado del ecosistema.

Docker Hub funciona como un “GitHub de las imágenes Docker”, permitiendo almacenar, versionar y compartir imágenes con otros desarrolladores.

🌍 ¿Qué es Docker Hub?

Docker Hub es un registro donde puedes:

  • Publicar tus propias imágenes.
  • Descargar imágenes creadas por otras personas.
  • Compartir versiones de tus proyectos.
  • Mantener imágenes públicas o privadas.

Crear una cuenta es completamente gratuito para empezar y únicamente es necesario iniciar sesión antes de publicar imágenes.

🔎 Buscar imágenes desde la terminal

No es necesario abrir la web para buscar imágenes.

Docker incorpora el comando:

docker search postgres

Este comando consulta directamente Docker Hub y devuelve los resultados disponibles.

Además, es recomendable utilizar siempre imágenes oficiales cuando existan.

Las imágenes oficiales están verificadas y reducen el riesgo de utilizar imágenes maliciosas o comprometidas.

🏗️ Construir una imagen lista para publicar

Antes de subir una imagen debemos construirla.

Durante la clase se utiliza un comando similar a:

docker build -t usuario/nombre-imagen:0.0.1 .

Este comando:

  • Construye la imagen.
  • Le asigna un nombre.
  • Añade una versión mediante un tag.
  • Utiliza la carpeta actual como contexto del build.

🏷️ Utilizar nombres con prefijo

Aunque técnicamente es posible utilizar nombres genéricos, lo habitual es utilizar un prefijo con tu usuario de Docker Hub.

Por ejemplo:

mateo/mi-aplicacion

o

midudev/midu-node-example

Esto evita conflictos con nombres ya existentes y facilita identificar al propietario de la imagen.

🔖 Versionar mediante tags

Las imágenes deberían publicarse utilizando tags para representar cada versión.

Por ejemplo:

0.0.1

Más adelante podrán añadirse nuevas versiones sin perder las anteriores, facilitando la evolución del proyecto.

📤 Publicar la imagen

Una vez construida la imagen únicamente queda subirla al registro mediante:

docker push usuario/nombre-imagen:0.0.1

Es importante que el nombre utilizado coincida exactamente con el de la imagen creada previamente.

Si existe algún error en el nombre, Docker no encontrará la imagen y el push fallará.

✏️ Renombrar una imagen

Si antes de publicarla quieres modificar su nombre o su etiqueta, puedes utilizar:

docker tag

Este comando permite generar un nuevo nombre o una nueva referencia sin necesidad de volver a construir toda la imagen.

📦 Una imagen publicada ya puede reutilizarse

Después del docker push, la imagen aparece inmediatamente en Docker Hub.

Desde ese momento cualquier desarrollador puede consultar:

  • La descripción.
  • Los tags disponibles.
  • La configuración.
  • La información de la imagen.

Y, lo más importante, puede descargarla y ejecutarla.

▶️ Ejecutar una imagen publicada

Una vez publicada, cualquier persona puede utilizarla mediante:

docker run usuario/nombre-imagen

Si la imagen expone puertos, únicamente habrá que añadir las opciones correspondientes (-p) igual que con cualquier otra imagen Docker.

Esto convierte Docker Hub en una forma muy sencilla de distribuir aplicaciones completas.

🔄 Evolucionar una imagen

Publicar una imagen no significa que sea definitiva.

Puedes seguir creando nuevas versiones, generar nuevos tags y publicar sucesivas iteraciones del mismo proyecto conforme vaya evolucionando.

📌 Ideas clave de esta clase

Quédate con estos conceptos:

  • Docker Hub es el registro oficial para compartir imágenes Docker.
  • Es posible buscar imágenes desde la propia terminal con docker search.
  • Conviene utilizar siempre imágenes oficiales cuando estén disponibles.
  • Las imágenes deben publicarse utilizando nombres asociados a tu usuario.
  • Los tags permiten versionar las imágenes.
  • docker push publica la imagen en Docker Hub.
  • docker tag permite renombrar imágenes sin reconstruirlas.
  • Una vez publicada, cualquier persona puede descargarla y ejecutarla con docker run.

🚀 Lo siguiente

Ahora que sabes cómo publicar imágenes en Docker Hub, ya puedes distribuir tus aplicaciones de forma sencilla.

En las siguientes clases podrás seguir aprendiendo cómo versionarlas correctamente y aprovechar Docker para compartir proyectos completos con cualquier desarrollador.