En este paso, aprenderás cómo "registrar" una imagen en un flujo para una plataforma específica. En la terminología de Docker, esto se hace típicamente etiquetando (tagging) una imagen existente con un nuevo nombre que incluya el flujo deseado y posiblemente información de la plataforma. Etiquetar una imagen esencialmente crea un nuevo puntero a una capa de imagen existente, lo que te permite referirte a la misma imagen con un nombre y etiqueta diferentes.
El comando básico para etiquetar una imagen es docker tag
. La sintaxis es:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
SOURCE_IMAGE[:TAG]
: Este es el nombre y la etiqueta opcional de la imagen existente que deseas etiquetar.
TARGET_IMAGE[:TAG]
: Este es el nuevo nombre y la etiqueta opcional que deseas asignar a la imagen. La parte TARGET_IMAGE
representa el nombre del flujo.
Usemos la imagen ubuntu
que descargamos en el paso anterior. La etiquetaremos con un nuevo nombre de flujo, por ejemplo, myubuntu
.
Primero, verificaremos la imagen ubuntu
existente y su ID:
docker images ubuntu
Verás una salida similar a esta, observando el IMAGE ID
:
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest d621e9f15c2f 2 weeks ago 72.8MB
Ahora, etiquetemos la imagen ubuntu:latest
con el nuevo nombre de flujo myubuntu
y la etiqueta v1.0
:
docker tag ubuntu:latest myubuntu:v1.0
Si el comando tiene éxito, no produce mucha salida. Simplemente crea la nueva etiqueta.
Ahora, listemos las imágenes nuevamente para ver la imagen recién etiquetada:
docker images
Ahora deberías ver tanto la imagen original ubuntu:latest
como la nueva imagen myubuntu:v1.0
, ambas apuntando al mismo IMAGE ID
:
REPOSITORY TAG IMAGE ID CREATED SIZE
myubuntu v1.0 d621e9f15c2f 2 weeks ago 72.8MB
ubuntu latest d621e9f15c2f 2 weeks ago 72.8MB
hello-world latest d2c94e258dcb 2 months ago 13.3kB
Observa que myubuntu:v1.0
tiene el mismo IMAGE ID
que ubuntu:latest
. Esto confirma que myubuntu:v1.0
es solo una nueva referencia a los mismos datos de imagen subyacentes.
Si bien el comando docker tag
en sí no maneja explícitamente las plataformas en el proceso de etiquetado, la imagen en sí puede estar construida para una plataforma específica. Cuando descargas una imagen, Docker generalmente descarga la imagen para la arquitectura de tu sistema. Si necesitas trabajar con imágenes para diferentes plataformas, normalmente usarías herramientas como docker buildx
para construir imágenes multiplataforma o especificar la plataforma durante la operación de descarga (por ejemplo, docker pull --platform linux/amd64 ubuntu
). Sin embargo, para el propósito de "registrar" una imagen existente en un flujo, el comando docker tag
es la forma estándar de crear una nueva referencia a esa imagen dentro de un nombre de flujo diferente.