Aller au contenu

ingénierie

La mise en cache des couches Docker n'est pas ce que vous pensez

La plupart des configurations de mise en cache CI Docker passent plus de temps à transférer le cache qu'elles n'en économisent en l'utilisant.

{auteur} · {rôle} · 2026-01-15 · 8 min de lecture

Le conseil standard est d'exporter votre cache de couches avec cache-to et de l'importer avec cache-from. Ça marche. Pour les grandes images, il s’agit également souvent d’une perte nette, et les données temporelles le montrent clairement une fois que vous les regardez.

Le transfert est le problème

Chaque tâche exporte le cache à la fin et l'importe au début. Pour un cache de couches de plusieurs gigaoctets, cet aller-retour peut dépasser le temps de construction qu'il était censé économiser. L’étape de construction s’accélère et le travail ralentit.

La solution est d'arrêter de le déplacer

Une instance persistante de BuildKit conserve le cache sur son propre disque, là où BuildKit le souhaite déjà. Votre travail s'attache, se construit, se détache. Il n’y a pas d’étape d’export car il n’y a rien à exporter.

Votre prochain build pourrait être deux fois plus rapide, pour moitié prix

Commencez gratuitement. Repartir tient à la même ligne, et nous publions ce diff aussi.