Cómo usar el comando docker manifest rm para eliminar listas de manifiestos

DockerDockerBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo gestionar las listas de manifiestos de Docker, que son esenciales para crear imágenes multi-arquitectura. Cubriremos el proceso de creación de una lista de manifiestos combinando imágenes para diferentes plataformas, verificaremos su existencia utilizando el comando docker manifest inspect y, finalmente, demostraremos cómo eliminar una lista de manifiestos utilizando el comando docker manifest rm. Este ejercicio práctico te proporcionará experiencia práctica en el manejo de listas de manifiestos dentro de tu flujo de trabajo de Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/ImageOperationsGroup -.-> docker/rmi("Remove Image") subgraph Lab Skills docker/rm -.-> lab-555172{{"Cómo usar el comando docker manifest rm para eliminar listas de manifiestos"}} docker/inspect -.-> lab-555172{{"Cómo usar el comando docker manifest rm para eliminar listas de manifiestos"}} docker/pull -.-> lab-555172{{"Cómo usar el comando docker manifest rm para eliminar listas de manifiestos"}} docker/rmi -.-> lab-555172{{"Cómo usar el comando docker manifest rm para eliminar listas de manifiestos"}} end

Crear una lista de manifiestos

En este paso, aprenderemos cómo crear una lista de manifiestos en Docker. Una lista de manifiestos es una lista de manifiestos de imágenes, que te permite utilizar un solo nombre de imagen para referirte a imágenes de diferentes arquitecturas y sistemas operativos. Esto es especialmente útil para construir imágenes multi-arquitectura.

Primero, vamos a descargar dos imágenes diferentes que utilizaremos para crear nuestra lista de manifiestos. Utilizaremos la imagen alpine para las arquitecturas amd64 y arm64.

docker pull alpine:latest
docker pull --platform arm64 alpine:latest

El primer comando descarga la imagen alpine:latest para tu arquitectura actual (probablemente amd64). El segundo comando descarga explícitamente la imagen alpine:latest para la arquitectura arm64.

Ahora, podemos crear la lista de manifiestos utilizando el comando docker manifest create. La sintaxis es docker manifest create TARGET_IMAGE SOURCE_IMAGE [SOURCE_IMAGE...]. Crearemos una lista de manifiestos llamada my-alpine:latest que incluya las imágenes alpine:latest para amd64 y arm64.

docker manifest create my-alpine:latest alpine:latest alpine:latest --amend alpine:latest --platform arm64

En este comando:

  • my-alpine:latest es el nombre de la nueva lista de manifiestos que estamos creando.
  • alpine:latest es la primera imagen de origen (para la arquitectura predeterminada).
  • --amend alpine:latest --platform arm64 agrega la imagen alpine:latest para la plataforma arm64 a la lista de manifiestos.

Después de ejecutar este comando, has creado una lista de manifiestos localmente. Sin embargo, aún no se ha enviado a un registro. Lo enviaremos en un paso posterior.

Verificar la existencia de la lista de manifiestos

En el paso anterior, creamos una lista de manifiestos llamada my-alpine:latest. Ahora, verificaremos que esta lista de manifiestos se haya creado correctamente y exista localmente.

Podemos utilizar el comando docker manifest inspect para ver los detalles de una lista de manifiestos. Este comando mostrará el contenido de la lista de manifiestos en formato JSON si existe.

docker manifest inspect my-alpine:latest

Si la lista de manifiestos my-alpine:latest se creó correctamente, verás una salida en formato JSON que describe la lista de manifiestos, incluyendo las diferentes imágenes a las que hace referencia para varias arquitecturas. Si la lista de manifiestos no existe, el comando devolverá un error.

La salida mostrará información sobre la lista de manifiestos, como la versión del esquema, el tipo de medio y una lista de manifiestos para cada arquitectura incluida. Deberías ver entradas para las arquitecturas amd64 y arm64, lo que confirma que la lista de manifiestos se creó correctamente con referencias a las imágenes para esas plataformas.

Eliminar la lista de manifiestos

En los pasos anteriores, creamos y verificamos la existencia de una lista de manifiestos llamada my-alpine:latest. Ahora, aprenderemos cómo eliminar esta lista de manifiestos.

Para eliminar una lista de manifiestos, utilizamos el comando docker manifest rm seguido del nombre de la lista de manifiestos.

docker manifest rm my-alpine:latest

Este comando eliminará la referencia local a la lista de manifiestos my-alpine:latest. Ten en cuenta que este comando solo elimina la lista de manifiestos en sí, no las imágenes individuales a las que hace referencia la lista de manifiestos. Las imágenes alpine:latest para amd64 y arm64 que descargamos anteriormente seguirán en tu sistema.

Después de ejecutar el comando, deberías ver una salida que indique que la lista de manifiestos ha sido desetiquetada.

Verificar que la lista de manifiestos se ha eliminado

En el paso anterior, eliminamos la lista de manifiestos llamada my-alpine:latest. Ahora, verificaremos que la lista de manifiestos se haya eliminado correctamente y ya no exista localmente.

Podemos intentar inspeccionar la lista de manifiestos nuevamente utilizando el comando docker manifest inspect. Si la lista de manifiestos se eliminó correctamente, este comando debería devolver un error que indique que no se encontró la lista de manifiestos.

docker manifest inspect my-alpine:latest

Cuando ejecutes este comando después de eliminar la lista de manifiestos, deberías ver un mensaje de error similar a no such manifest: docker.io/library/my-alpine:latest. Esto confirma que la lista de manifiestos se ha eliminado de tu entorno local de Docker.

Resumen

En este laboratorio, aprendimos cómo crear y gestionar listas de manifiestos de Docker. Comenzamos descargando imágenes para diferentes arquitecturas y luego utilizamos el comando docker manifest create para combinarlas en una única lista de manifiestos, demostrando cómo construir imágenes multi-arquitectura.

Después de la creación, verificamos la existencia de la lista de manifiestos utilizando el comando docker manifest inspect. Finalmente, aprendimos cómo eliminar la lista de manifiestos utilizando el comando docker manifest rm y confirmamos su eliminación, cubriendo la gestión esencial del ciclo de vida de las listas de manifiestos en Docker.