Docker Hub y registries
Qué es un registry
Sección titulada «Qué es un registry»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í.
Pull: descargar una imagen
Sección titulada «Pull: descargar una imagen»docker pull postgres:16docker pull node:20-alpinedocker 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.
Push: publicar una imagen propia
Sección titulada «Push: publicar una imagen propia»- Crear cuenta en Docker Hub (gratis).
- Login desde la CLI:
docker login- Nombrar la imagen con el formato
usuario/nombre:tag:
docker build -t mi-usuario/mi-app:1.0 .docker push mi-usuario/mi-app:1.0Si la imagen ya se construyó con otro nombre, se puede re-taggear sin reconstruir:
docker tag mi-app:1.0 mi-usuario/mi-app:1.0docker push mi-usuario/mi-app:1.0Imágenes oficiales vs de usuario
Sección titulada «Imágenes oficiales vs de usuario»postgres:16 ← imagen oficial (sin prefijo de usuario)mi-usuario/mi-app:1.0 ← imagen de un usuario/organizaciónghcr.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.
Registries privados / alternativos
Sección titulada «Registries privados / alternativos»No todo tiene que vivir en Docker Hub:
docker pull ghcr.io/org/app:1.0 # GitHub Container Registrydocker pull registry.gitlab.com/org/app # GitLab Container RegistryPara usarlos, el nombre completo incluye el host del registry (ghcr.io/...) — sin eso, Docker asume Docker Hub por defecto.
Consideraciones
Sección titulada «Consideraciones»- Docker Hub tiene un límite de
pullgratuito para cuentas anónimas/gratuitas — si un CI empieza a fallar con429 Too Many Requests, suele ser ese límite; hacerdocker 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.