Mit Lektion 2.9.8 läuft die Kladde aus Ihrem eigenen Image in Azure. Nicht jede Kladde soll aber nach Azure. Ein kleines Büro hat vielleicht einen eigenen Server im Keller, und dort gibt es weder azd noch Container Apps, aber Docker. Für genau diesen Fall gibt es Docker Compose: eine Datei, die beschreibt, welche Container zusammengehören, und ein Befehl, der sie alle startet. In dieser Lektion schreiben Sie diese Datei einmal von Hand und lassen sie einmal vom Aspire-AppHost aus Lektion 2.9.3 schreiben. Dann vergleichen Sie und entscheiden, was wofür gilt.
Wozu Compose
In Lektion 2.9.2 haben Sie zwei Container von Hand verbunden: ein Netz angelegt, den SQL-Server-Container hineingehängt, eine .env-Datei
geschrieben, die Kladde mit fünf Optionen gestartet. Das funktioniert, aber es steht nur in Ihrer Befehlsgeschichte. Wer die Kladde auf einem
anderen Rechner starten will, muss alles nachtippen, in der richtigen Reihenfolge.
Compose schreibt das alles in eine Datei, compose.yaml, und startet es mit einem Befehl. Die Datei liegt im Repository, und jeder, der Docker
hat, bekommt dieselbe Umgebung. Docker Desktop bringt Compose als docker compose mit, Podman kann dieselben Dateien lesen.
Aspire kennen Sie dafür schon. Der AppHost aus Lektion 2.9.3 macht lokal etwas Ähnliches, nur mächtiger. Aber er braucht das .NET SDK und läuft nicht als Dienst auf einem Server. Compose dagegen braucht nur Docker.