Cache de registre
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.