Funktionsweise
Auf hoher Ebene funktioniert ein Template-Build wie folgt:- Die Template-Quelle auflösen, z. B. ein Standard-Basis-Image, ein vorhandenes Image, ein Dockerfile oder ein anderes Template.
- Template-Anweisungen anwenden, z. B.
runCmd,copy,makeDir,setEnvsund Hilfsfunktionen zur Paketinstallation. - Falls konfiguriert, den Startbefehl des Templates starten.
- Warten, bis der Ready-Befehl erfolgreich ist.
- Die vorbereitete Umgebung als wiederverwendbares Template speichern.
templateId / template_id und eine buildId / build_id. Verwende die Template-ID später mit Sandbox.create(...).
Benutzer und Arbeitsverzeichnis
Templates können den standardmäßigen Linux-Benutzer und das Arbeitsverzeichnis festlegen, die von späteren Build-Schritten und von der finalen Umgebung verwendet werden. VerwendesetUser(...) / set_user(...), wenn Build-Befehle als bestimmter Benutzer ausgeführt werden müssen. Verwende setWorkdir(...) / set_workdir(...), wenn spätere Befehle und kopierte Dateien relativ zu einem bestimmten Verzeichnis aufgelöst werden sollen.
Caching
Template-Builds cachen zuvor abgeschlossene Layer, sodass wiederholte Builds nicht jede Anweisung erneut ausführen müssen. Das ist normalerweise das gewünschte Verhalten für schnelle Iterationen. Wenn du einen vollständig frischen Build benötigst, deaktiviere den Cache für den gesamten Build mitskipCache: true / skip_cache=True, oder markiere die Template-Kette mit skipCache() / skip_cache().