Stockage d'images containerd
Docker Desktop adopte containerd pour la gestion des images et du système de fichiers. Cette page présente les avantages, le processus de configuration et les nouvelles capacités offertes par le stockage d'images containerd.
NoteDocker Desktop maintient des stockages d'images séparés pour les stockages d'images classique et containerd. Lors du basculement entre eux, les images et conteneurs du stockage inactif restent sur le disque mais sont masqués jusqu'à ce que vous rebasculiez.
Qu'est-ce que containerd
?
containerd
est un runtime de conteneur qui fournit une interface légère et cohérente pour la gestion du cycle de vie des conteneurs. Il est déjà utilisé en arrière-plan par Docker Engine pour créer, démarrer et arrêter les conteneurs.
L'intégration continue de containerd par Docker Desktop s'étend maintenant au stockage d'images, offrant plus de flexibilité et un support d'images moderne.
Qu'est-ce que le stockage d'images containerd
?
Le stockage d'images est le composant responsable du push, pull et stockage des images sur le système de fichiers.
Le stockage d'images Docker classique est limité dans les types d'images qu'il supporte. Par exemple, il ne supporte pas les index d'images contenant des listes de manifestes. Lorsque vous créez des images multi-plateformes, par exemple, l'index d'image résout toutes les variantes spécifiques à la plateforme de l'image. Un index d'image est également requis lors de la construction d'images avec des attestations.
Le stockage d'images containerd étend la gamme de types d'images avec lesquels Docker Engine peut interagir nativement. Bien qu'il s'agisse d'un changement architectural de bas niveau, c'est un prérequis pour débloquer une gamme de nouveaux cas d'usage, notamment :
- Construire des images multi-plateformes et des images avec attestations
- Support pour l'utilisation de snapshotters containerd avec des caractéristiques uniques, tels que stargz pour le lazy-pulling d'images au démarrage du conteneur, ou nydus et dragonfly pour la distribution d'images peer-to-peer.
- Capacité d'exécuter des conteneurs Wasm
Activer le stockage d'images containerd
Le stockage d'images containerd est activé par défaut dans Docker Desktop version 4.34 et ultérieures, mais seulement pour les installations propres ou si vous effectuez une réinitialisation d'usine. Si vous mettez à niveau depuis une version antérieure de Docker Desktop, ou si vous utilisez une version plus ancienne de Docker Desktop, vous devez basculer manuellement vers le stockage d'images containerd.
Pour activer manuellement cette fonctionnalité dans Docker Desktop :
- Naviguez vers Paramètres dans Docker Desktop.
- Dans l'onglet Général, cochez Utiliser containerd pour tirer et stocker les images.
- Sélectionnez Appliquer et redémarrer.
Pour désactiver le stockage d'images containerd, décochez la case Utiliser containerd pour tirer et stocker les images.
Construire des images multi-plateformes
Le terme image multi-plateforme fait référence à un ensemble d'images pour plusieurs architectures différentes. Par défaut, le constructeur par défaut pour Docker Desktop ne supporte pas la construction d'images multi-plateformes.
$ 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.com/go/build-multi-platform/
Activer le stockage d'images containerd vous permet de construire des images multi-plateformes et de les charger dans votre stockage d'images local :