🚀 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 pushpublica la imagen en Docker Hub.docker tagpermite 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.