Compartir comentarios
Las respuestas se generan en base a la documentación.

Almacén de imágenes de containerd

Docker Desktop utiliza containerd como su almacén de imágenes de forma predeterminada. El almacén de imágenes es el componente responsable de subir (push), descargar (pull) y almacenar imágenes en tu sistema de archivos. El almacén de imágenes de containerd admite características como imágenes multiplataforma, atestaciones de imágenes y snapshotters alternativos.

¿Qué es containerd?

containerd es un entorno de ejecución de contenedores que proporciona una interfaz ligera y consistente para la gestión del ciclo de vida de los contenedores y de las imágenes. Docker Engine lo utiliza internamente para crear, iniciar y detener contenedores.

¿Qué es el almacén de imágenes de containerd?

El almacén de imágenes es el componente responsable de subir, descargar y almacenar imágenes en el sistema de archivos.

El almacén de imágenes de containerd amplía la gama de tipos de imágenes con las que Docker Engine puede interactuar de forma nativa. Aunque este es un cambio arquitectónico de bajo nivel, es un requisito previo para acceder a diversos casos de uso, que incluyen:

  • Construir imágenes multiplataforma e imágenes con atestaciones
  • Soporte para utilizar snapshotters de containerd con características únicas, como stargz para la descarga diferida (lazy-pulling) de imágenes al iniciar el contenedor, o nydus y dragonfly para la distribución de imágenes de par a par (P2P).
  • Capacidad para ejecutar contenedores Wasm

Almacén de imágenes clásico

El almacén de imágenes clásico es el backend de almacenamiento heredado de Docker, reemplazado por el almacén de imágenes de containerd. No admite índices de imágenes ni listas de manifiestos, por lo que no puedes cargar imágenes multiplataforma localmente ni construir imágenes con atestaciones.

La mayoría de los usuarios no tienen motivos para usar el almacén de imágenes clásico. Está disponible para los casos en los que necesites igualar un comportamiento anterior o tengas requisitos de compatibilidad.

Cambiar de almacén de imágenes

El almacén de imágenes de containerd está habilitado de forma predeterminada en Docker Desktop versión 4.34 y posteriores. Para cambiar entre almacenes de imágenes:

  1. Dirígete a Settings en Docker Desktop.
  2. En la pestaña General, marca o desmarca la opción Use containerd for pulling and storing images.
  3. Selecciona Apply.
Note

Docker Desktop mantiene almacenes de imágenes independientes para el almacén clásico y el de containerd. Al cambiar entre ellos, las imágenes y contenedores del almacén inactivo permanecen en el disco pero se ocultan hasta que vuelvas a cambiar.

Construir imágenes multiplataforma

El almacén de imágenes de containerd te permite construir imágenes multiplataforma y cargarlas en tu almacén de imágenes local:

La construcción de imágenes multiplataforma con el almacén de imágenes clásico no es compatible:

$ docker build --platform=linux/amd64,linux/arm64 .
[+] Building 0.0s (0/0)
ERROR: Multi-platform build is not supported for the docker driver.
Switch to a different driver, or turn on the containerd image store, and try again.
Learn more at https://docs-docker.esdocu.com/go/build-multi-platform/