Leitfäden
So optimieren Sie eine Docker-Datei für CI
Kleine Codeänderungen lösen lange Neuerstellungen aus.
6 Min. Lesezeit
Kleine Codeänderungen lösen lange Neuerstellungen aus.
Warum es passiert
Die Befehlsreihenfolge macht den Layer-Cache zunichte und der Build-Kontext ist größer als nötig.
So beheben Sie das Problem
- Kopieren Sie die Sperrdatei, installieren Sie Abhängigkeiten und kopieren Sie dann die Quelle – in dieser Reihenfolge
- Fügen Sie einen .dockerignore hinzu, der .git, node_modules und Build-Ausgabe abdeckt
- Verwenden Sie mehrstufige Builds, damit Build-Tools nicht im endgültigen Image enthalten sind
- Verwenden Sie Cache-Mounts für Paketmanager-Verzeichnisse anstelle von Caching-Ebenen
Ihr nächster Build könnte doppelt so schnell sein — zum halben Preis
Kostenlos starten. Der Wechsel zurück ist dieselbe eine Zeile — auch dieses Diff veröffentlichen wir.
Verwandt
So richten Sie Docker-Layer-Caching einDocker-Builds dauern zehn Minuten, da jede Ebene neu erstellt wird.So verwenden Sie mehrstufige Docker-BuildsDie Bilder sind groß und enthalten Build-Tools, die nicht versendet werden sollten.So führen Sie gleichzeitige Docker-Builds sicher ausParallele Matrixbeine konkurrieren und Gebäude werden langsamer oder scheitern.So verwenden Sie einen Remote-Docker-BuilderDer Layer-Cache wird bei jedem Build zum und vom Runner übertragen.