Die Kladde läuft seit Lektion 2.9.5 einmal in Azure, und Sie haben dafür keine einzige Zeile Docker geschrieben: dotnet publish -t:PublishContainer hat das Image gebaut. Das war richtig so, erst der Erfolg, dann die Tiefe. In dieser und den drei folgenden Lektionen
sehen Sie unter die Haube. Sie schreiben das Rezept für das Image selbst, ein Dockerfile, und verstehen dabei, was das SDK für Sie
entschieden hat. Am Ende der Lektion baut Docker die Kladde aus Ihrem eigenen Dockerfile, und eine Änderung im Code baut in Sekunden neu,
ohne alle Pakete noch einmal zu laden.
Wozu ein eigenes Dockerfile
Der Weg aus Lektion 2.9.2 bleibt gut. Ein Dockerfile brauchen Sie, sobald eine dieser Fragen mit Ja beantwortet wird:
- Muss beim Bauen etwas laufen, das nicht
dotnetist? Ein Paket des Betriebssystems, ein Werkzeug zum Erzeugen von Dateien, ein Schritt, den nur eine Kommandozeile kann. - Baut jemand anderes das Image? Ein Build-Dienst, der nur Dockerfiles kennt, etwa
az acr buildin Lektion 2.9.8, oder ein Team ohne .NET. - Wollen Sie jede Entscheidung selbst treffen? Grund-Image, Benutzer, Schichten und was im Image liegt.
Und auch wenn Sie bei dotnet publish bleiben: Wer einmal ein Dockerfile geschrieben hat, liest jedes Image anders. Genau darum geht es
hier.