Todo sobre Apple, Android, Juegos Apks y Sitios de Peliculas

Cómo agregar, reemplazar y eliminar etiquetas de imagen de Docker

Docker usa etiquetas para identificar distintas versiones de una imagen. Al igual que la comunidad de contenedores en general, se deben usar etiquetas para marcar cada versión para que los usuarios puedan seleccionar entre diferentes versiones.

Las etiquetas también se pueden utilizar para describir otras características de una imagen, como la identidad de una dependencia clave cuando se ofrecen múltiples opciones. No es raro encontrar proveedores de imágenes que ofrezcan este tipo de etiqueta:

example-image:1.1.0-apache

example-image:1.1.0-nginx

example-image:1.2.0-apache

example-image:1.2.0-nginx

Este esquema de etiquetas le permite elegir entre diferentes versiones de la imagen y ofrece Apache o NGINX como base de la imagen.

Puede agregar sus propias etiquetas a cualquier imagen que cree o extraiga. Las etiquetas locales le brindan una manera de identificar rápidamente imágenes específicas en el futuro. En esta guía, mostraremos cómo administrar etiquetas de imágenes con Docker CLI.

Las etiquetas se agregan a las imágenes usando el etiqueta acoplable dominio. También se pueden adjuntar etiquetas cuando estás creando una imagen con construcción de ventana acoplable pasando la bandera -t.

El comando de etiqueta toma dos argumentos: una etiqueta existente que identifica una imagen y una nueva etiqueta de “destino” para asignar a esa imagen:

# docker tag <source image> <new tag>

docker tag example-image:1.1.0 example-image:1.1.0-apache

Ambas etiquetas ahora harán referencia a la misma imagen para que puedas comenzar a usarlas indistintamente. Sin embargo, al ejecutar Docker Pull ejemplo-imagen:1.1.0 no afectaría la 1.1.0-etiqueta apache. La referencia de imagen de una etiqueta no se actualiza a menos que la haya incluido manualmente en un comando CLI.

La única excepción a esta regla es la etiqueta más reciente, que a menudo se malinterpreta. Cuando extraes una imagen “desnuda” sin una etiqueta, como la imagen de ejemplo de Docker, Docker utiliza implícitamente la última.

Imágenes sin etiquetar

El comando Docker Tag aceptará ID de imagen como referencia de origen en lugar de una etiqueta existente. Si termina con una imagen sin etiquetar, ejecute el comando Docker Images para encontrar su IDluego use la etiqueta acoplable para asignar una nueva etiqueta:

docker tag 0e3e06b48755 example-image:latest

Es posible tener imágenes sin etiquetar cuando se extrae una nueva versión de una etiqueta:

# already has example-image:latest

docker pull example-image:latest

El destino original de la etiqueta example-image:latest todavía existe en su sistema, pero ahora no está etiquetado. El extracto descargó los datos de la nueva imagen y reasignó la última etiqueta para hacer referencia a ella.

Una situación en la que necesita agregar una nueva etiqueta es cuando envía imágenes entre registros. La URL del registro es parte de la etiqueta. Agregue una nueva etiqueta que incluya el registro al que desea enviar, luego use Docker Push para cargarlo:

docker tag example-image:latest registry.example.com/example-image:latest

docker push registry.example.com/example-image:latest

Insertar una etiqueta simple sin un componente de URL enviará los datos de la imagen a Docker Hub. En consecuencia, debe agregar una etiqueta con el nombre de host de su servidor y el número de puerto opcional cuando interactúe con un registro privado.

El comando Docker Tag reemplazará silenciosamente la referencia de una etiqueta si se utiliza una etiqueta existente como destino:

docker tag first-image:latest demo

docker tag second-image:latest demo

La etiqueta de demostración ahora hace referencia a la segunda imagen y no se puede utilizar para hacer referencia a la primera imagen. Aún puedes interactuar con la primera imagen usando la etiqueta restante, primera imagen: última. La segunda imagen se puede seleccionar con second-image:latest o demo.

Las etiquetas de imágenes generalmente deben tratarse como inmutables. Es mejor evitar esta técnica de modificar la referencia de una etiqueta, excepto en el caso de etiquetas que esté utilizando con fines organizativos locales. No es una buena idea enviar una etiqueta actualizada a un registro público, ya que los usuarios que dependen de ella recibirán una imagen modificada inesperadamente la próxima vez que la extraigan. En esta situación, inserte otra etiqueta nueva.

# Build and push v1

docker build -t example-image:v1 .

docker push example-image:v1

# v1 now refers to different image data

# This is fine for local use (tags in the

# registry are independent of your local tags).

docker build -t example-image:v1 .

# Don't do this - now the tag in the registry

# has been changed too, which could negatively

# impact existing users.

docker push example-image:v1

Puede eliminar etiquetas de imágenes que haya cargado en su máquina. Utilice el comando docker rmi y especifique la etiqueta que desea eliminar:

docker rmi example-image:1.1.0-apache

Cualquier otra etiqueta que haga referencia a los mismos datos de imagen seguirá siendo utilizable. En caso de que la imagen a la que se hace referencia deje de etiquetarse, Docker CLI elimina los datos de la imagen por completo. Esto garantiza que no terminará con imágenes sin etiquetar como resultado de instrucciones de eliminación explícitas.

Eliminar una etiqueta solo tiene un efecto local, incluso si hace referencia a una etiqueta que incluye una URL de registro:

# Does not remove the tag from the registry!

docker rmi registry.example.com/example-image:latest

Actualmente no puedes eliminar una etiqueta específica de un registro. Esto está en consonancia con el principio de inmutabilidad de las etiquetas: una vez que se ha enviado contenido, los consumidores intermedios podrían utilizarlo como una dependencia, por lo que el API de registro omite un punto final de eliminación de etiquetas. Sin embargo, muchas implementaciones de registros de terceros proporcionan un mecanismo equivalente; Vale la pena consultar la documentación suya si tiene una razón de peso para eliminar una etiqueta enviada.

Resumen

Las etiquetas se utilizan para etiquetar imágenes de Docker con información distintiva clave, como su versión de compilación y las dependencias incluidas. Es mucho más sencillo trabajar con etiquetas que con los ID SHA de imagen que puede ver con imágenes de la ventana acoplable. Las etiquetas también son el mecanismo principal para interactuar con imágenes en registros remotos.

Puede administrar sus propias etiquetas en su máquina local, pero los cambios no afectarán el contenido del registro. También debe considerar que, aunque las etiquetas son mutables, no se debe abusar de esta propiedad y es mejor evitarla al enviar etiquetas a un registro. Esto ayuda a proteger a sus usuarios de cambios importantes no deseados.