# 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](#construir-imágenes-multiplataforma) e imágenes con atestaciones
- Soporte para utilizar snapshotters de containerd con características únicas, como [stargz][1] para la descarga diferida (lazy-pulling) de imágenes al iniciar el contenedor, o [nydus][2] y [dragonfly][3] para la distribución de imágenes de par a par (P2P).
- Capacidad para ejecutar contenedores [Wasm](/desktop/features/containerd/wasm/)

[1]: https://github.com/containerd/stargz-snapshotter
[2]: https://github.com/containerd/nydus-snapshotter
[3]: https://github.com/dragonflyoss/image-service

## 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:

<script async id="asciicast-ZSUI4Mi2foChLjbevl2dxt5GD" src="https://asciinema.org/a/ZSUI4Mi2foChLjbevl2dxt5GD.js"></script>

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

```console
$ 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/
```

