Ir al contenido
angel.library

Docker Hub y registries

Un registry es donde viven las imágenes publicadas — un servidor de almacenamiento para imágenes indexadas por nombre y etiqueta. Docker Hub (hub.docker.com) es el registry público predeterminado: cuando ejecutas docker run postgres, la imagen postgres se descarga desde allí.

Ventana de terminal
docker pull postgres:16
docker pull node:20-alpine

docker run hace un pull automático si la imagen no existe localmente — no hace falta correr pull a mano salvo que se quiera descargar por adelantado.

  1. Crear cuenta en Docker Hub (gratis).
  2. Login desde la CLI:
Ventana de terminal
docker login
  1. Nombrar la imagen con el formato usuario/nombre:tag:
Ventana de terminal
docker build -t mi-usuario/mi-app:1.0 .
docker push mi-usuario/mi-app:1.0

Si la imagen ya se construyó con otro nombre, se puede re-taggear sin reconstruir:

Ventana de terminal
docker tag mi-app:1.0 mi-usuario/mi-app:1.0
docker push mi-usuario/mi-app:1.0
postgres:16 ← imagen oficial (sin prefijo de usuario)
mi-usuario/mi-app:1.0 ← imagen de un usuario/organización
ghcr.io/org/app:1.0 ← imagen en otro registry (GitHub Container Registry)

Las imágenes oficiales (sin prefijo, como postgres, node, nginx) están mantenidas por Docker o el proyecto mismo, y son las que conviene usar como base — están más auditadas y actualizadas que alternativas de terceros.

No todo tiene que vivir en Docker Hub:

Ventana de terminal
docker pull ghcr.io/org/app:1.0 # GitHub Container Registry
docker pull registry.gitlab.com/org/app # GitLab Container Registry

Para usarlos, el nombre completo incluye el host del registry (ghcr.io/...) — sin eso, Docker asume Docker Hub por defecto.

  • Docker Hub tiene un límite de pull gratuito para cuentas anónimas/gratuitas — si un CI empieza a fallar con 429 Too Many Requests, suele ser ese límite; hacer docker login (aunque sea con cuenta gratuita) sube el límite.
  • Nunca pushear una imagen con secretos incluidos (ver .dockerignore) — una imagen pública en Docker Hub es descargable por cualquiera.