⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Cache de registre

Table des matières

Le stockage de cache registry peut être considéré comme une extension du cache inline. Contrairement au cache inline, le cache registry est entièrement séparé de l'image, ce qui permet une utilisation plus flexible - le cache basé sur registry peut faire tout ce que le cache inline peut faire, et plus encore :

  • Permet de séparer le cache et les artefacts d'image résultants afin que vous puissiez distribuer votre image finale sans le cache à l'intérieur.
  • Il peut mettre en cache efficacement les constructions multi-étapes en mode max, au lieu de seulement l'étape finale.
  • Il fonctionne avec d'autres exportateurs pour plus de flexibilité, au lieu de seulement l'exportateur image.

Ce backend de stockage de cache n'est pas pris en charge avec le pilote docker par défaut. Pour utiliser cette fonctionnalité, créez un nouveau constructeur en utilisant un pilote différent. Voir Pilotes de construction pour plus d'informations.

Synopsis

Contrairement au cache inline plus simple, le cache registry prend en charge plusieurs paramètres de configuration :

$ docker buildx build --push -t <registry>/<image> \
  --cache-to type=registry,ref=<registry>/<cache-image>[,parameters...] \
  --cache-from type=registry,ref=<registry>/<cache-image> .

Le tableau suivant décrit les paramètres CSV disponibles que vous pouvez passer à --cache-to et --cache-from.

Nom Option Type Par défaut Description
ref cache-to,cache-from Chaîne Nom complet de l'image de cache à importer.
mode cache-to min,max min Couches de cache à exporter, voir mode de cache.
oci-mediatypes cache-to true,false true Utiliser les types de média OCI dans les manifestes exportés, voir types de média OCI.
image-manifest cache-to true,false true Lors de l'utilisation des types de média OCI, générer un manifeste d'image au lieu d'un index d'image pour l'image de cache, voir types de média OCI.
compression cache-to gzip,estargz,zstd gzip Type de compression, voir compression de cache.
compression-level cache-to 0..22 Niveau de compression, voir compression de cache.
force-compression cache-to true,false false Appliquer la compression de force, voir compression de cache.
ignore-error cache-to Booléen false Ignorer les erreurs causées par les exportations de cache échouées.

Vous pouvez choisir n'importe quelle valeur valide pour ref, tant qu'elle n'est pas la même que l'emplacement cible vers lequel vous poussez votre image. Vous pourriez choisir différentes balises (par exemple, foo/bar:latest et foo/bar:build-cache), des noms d'images séparés (par exemple, foo/bar et foo/bar-cache), ou même différents dépôts (par exemple, docker.io/foo/bar et ghcr.io/foo/bar). C'est à vous de décider de la stratégie que vous souhaitez utiliser pour séparer votre image de vos images de cache.

Si la cible --cache-from n'existe pas, alors l'étape d'importation du cache échouera, mais la construction continue.

Pour aller plus loin

Pour une introduction à la mise en cache, voir Cache de construction Docker.

Pour plus d'informations sur le backend de cache registry, voir le README de BuildKit.