Registros de imágenes
En las lecciones anteriores pediste nginx:1.29 y la imagen llegó desde internet. El nombre y la etiqueta ya te resultan familiares: aprendiste a leerlos en Imágenes. Lo que aún no se explicó es dónde estaba guardada esa imagen antes de que la pidieras.
Estaba en un registro: un servicio que almacena imágenes y las distribuye cuando alguien las solicita. Esta lección responde una sola pregunta: dónde viven las imágenes antes de que docker pull las traiga a tu equipo.
Una tienda de la que traes copias
Sección titulada «Una tienda de la que traes copias»Piensa en una tienda de aplicaciones: la aplicación original vive en la tienda y tú instalas una copia en tu teléfono. El original sigue allí, disponible para quien lo necesite.
Un registro funciona con la misma idea: guarda las imágenes originales y entrega copias a cada equipo que las pide. La diferencia técnica está en lo que entrega: ni programas instalables ni código fuente, sino plantillas de contenedor listas para ejecutar.
Docker Hub es el registro público por defecto
Sección titulada «Docker Hub es el registro público por defecto»Docker Hub es el registro público que Docker usa cuando no indicas otro. Allí vive la imagen nginx junto a miles de imágenes más. Docker Hub no es el único registro que existe: hay otros públicos y privados. Pero es el punto de partida porque viene configurado por defecto.
Si abres la página de nginx en Docker Hub verás dos señales útiles. Primero, la marca de imagen oficial: indica que el contenido lo mantiene el equipo responsable siguiendo estándares publicados. Segundo, la lista de etiquetas: cada versión disponible aparece como una etiqueta que puedes pedir por su nombre.
Puedes buscar desde el navegador en el sitio oficial de Docker Hub, por ejemplo en la página de nginx, o desde tu terminal:
docker search nginx --limit 5La opción --limit 5 recorta el resultado a 5 filas para leerlo con calma.
Sin esa opción la orden también funciona, pero devuelve hasta 25 filas y la
tabla se vuelve difícil de recorrer.
NAME DESCRIPTION STARS OFFICIALnginx Official build of Nginx... 20000+ [OK]unit Official build of NGINX... 200+ [OK]ansible Ansible inside Docker... 100+Lee el resultado así:
NAMEes el repositorio que pedirías condocker pull.OFFICIALcon[OK]es la misma marca oficial de la página web.- Los números cambian con el tiempo: sirven de orientación, no de prueba.
Elige uno y tráelo. Con el repositorio oficial basta el nombre:
docker pull nginxAl no indicar etiqueta, Docker pide latest, la más reciente. Verás cómo
descarga cada capa y al final la copia queda en tu equipo, lista para usar.
Compruébalo con docker images nginx: ahora la tabla muestra la etiqueta
latest junto a las que ya tenías.
Registro, repositorio y etiqueta no son lo mismo
Sección titulada «Registro, repositorio y etiqueta no son lo mismo»Estos tres términos se confunden porque siempre aparecen juntos en un comando. La tabla los separa usando el ejemplo que ya conoces:
| Término | Qué es | Ejemplo |
|---|---|---|
| Registro | El servicio que almacena y distribuye imágenes. | Docker Hub, el que Docker usa por defecto. |
| Repositorio | El nombre que identifica una imagen o una familia de imágenes dentro de un registro. | nginx |
| Etiqueta | La marca que señala una versión concreta dentro de un repositorio. | 1.29, en nginx:1.29 |
Cuando escribes nginx:1.29 sin indicar registro, Docker asume Docker Hub, busca el repositorio nginx y pide la etiqueta 1.29.
Compruébalo en tu equipo: esta orden lista las copias locales del
repositorio nginx:
docker images nginxREPOSITORY TAG IMAGE ID CREATED SIZEnginx 1.29 e4f5a6b7c8d9 4 weeks ago 192MBLee el resultado con la tabla anterior:
REPOSITORYmuestra el repositorio:nginx.TAGmuestra la etiqueta:1.29.- El registro no aparece porque Docker Hub es el valor por defecto.
Si la tabla está vacía, no tienes esa copia en local: tráela con la orden de la sección siguiente.
El recorrido de una imagen hasta tu contenedor
Sección titulada «El recorrido de una imagen hasta tu contenedor»Docker Hub --pull--> imagen en local --run--> contenedor en marchaLa primera flecha es la descarga: docker pull copia la plantilla del registro a tu equipo. No inicia ningún servidor ni abre ningún puerto. Solo deja la base disponible en local.
La segunda flecha es la ejecución: docker run crea un contenedor a partir de esa base local y lo pone en marcha. Ese segundo paso lo verás en detalle en la próxima lección.
Trae una segunda versión y comprueba que aterrizó en local
Sección titulada «Trae una segunda versión y comprueba que aterrizó en local»Ya tienes nginx:1.29 de las lecciones anteriores. Pide ahora la versión anterior para ver cómo una segunda copia aterriza junto a la primera:
docker pull nginx:1.28Comprueba el contenido local:
docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx 1.29 a1b2c3d4e5f6 3 weeks ago 188MBnginx 1.28 f6e5d4c3b2a1 2 months ago 187MBCada fila es una plantilla disponible en tu equipo. El mismo repositorio nginx aparece dos veces, una por etiqueta. Nada se ejecutó: solo llegaron copias del registro a tu disco.
El inicio de sesión existe para el contenido privado
Sección titulada «El inicio de sesión existe para el contenido privado»Existe una orden llamada docker login. Sirve para identificarte cuando necesitas imágenes privadas o cuando alcanzas los límites de descarga anónima. En esta etapa no la necesitas: las imágenes públicas de práctica se descargan sin cuenta.
Lo esencial en tres líneas
Sección titulada «Lo esencial en tres líneas»Registro --pull--> imagen en local --run--> contenedor- Las imágenes viven en un registro.
docker pulltrae copias a tu equipo sin ejecutar nada. - Registro es el servicio, repositorio es el nombre (
nginx) y etiqueta es la versión (1.29). - Docker Hub es el registro por defecto, no el único. Verifica la marca oficial y la página de cada imagen.
Siguiente paso
Sección titulada «Siguiente paso»Continúa con Ejecutar contenedores, el inicio de Uso básico, para crear un contenedor desde la imagen que ya tienes en local: nombre, puertos y segundo plano paso a paso.