Do.. März 27th, 2025

Docker-Compose: Einfache Anwendung mit “Hello World”

Bylars

11. Dezember 2024 , ,

Letzte Woche hast du bereits die Grundlagen von Docker-Containern letzte Woche kennengelernt – also wie du einzelne Anwendungen isoliert in Containern laufen lässt. Heute gehen wir einen Schritt weiter: Ich zeige dir, wie du mit Docker-Compose mehrere Container zu einer kleinen, funktionierenden Anwendung kombinierst. Dafür starten wir ganz entspannt mit einem klassischen „Hello World“-Beispiel. So bekommst du ein Gefühl dafür, wie Docker-Compose funktioniert und warum es dir in der Praxis einiges an Arbeit abnimmt.

1. Was ist Docker-Compose?

Docker-Compose ist ein praktisches Werkzeug, wenn du mehrere Container gleichzeitig nutzen möchtest – also zum Beispiel eine Anwendung, die aus einer Datenbank, einem Webserver und einem Backend-Service besteht. Statt jeden dieser Container mühsam einzeln zu starten und zu konfigurieren, kannst du mit Docker-Compose alles bequem in einer Datei regeln. In der sogenannten docker-compose.yml legst du fest, welche Container gebraucht werden, wie sie miteinander kommunizieren sollen und welche Einstellungen sie benötigen. Mit nur einem einzigen Befehl (docker-compose up) wird dann die komplette Umgebung auf einmal gestartet – übersichtlich, wiederholbar und ohne Chaos.

2. Voraussetzungen

Installiertes Docker und Docker-Compose: Stelle sicher, dass Docker und Docker-Compose auf deinem System installiert sind. Falls nicht, findest du in meinem Artikel Docker und Docker-Compose installieren und starten eine Anleitung.

3. Ein einfaches Docker-Compose-Projekt erstellen

3.1 Projektverzeichnis anlegen

Erstelle ein neues Verzeichnis für dein Projekt und wechsle in dieses Verzeichnis:

mkdir hello-world-compose
cd hello-world-compose

3.2 docker-compose.yml-Datei erstellen

Erstelle eine Datei namens docker-compose.yml mit folgendem Inhalt:

services:
  hello_world:
    image: hello-world

Erläuterungen:

  • services: Hier legst du fest, welche Container zu deiner Anwendung gehören.
  • hello_world: Das ist der Name deines Dienstes – also eines einzelnen Containers.
  • image: hello-world: In diesem Fall nutzt du das offizielle „hello-world“-Image von Docker Hub.

4. Anwendung starten

Starte die Anwendung mit folgendem Befehl:

docker-compose up

Docker-Compose lädt das hello-world-Image (falls nicht bereits vorhanden) und startet den Container. Du solltest eine Ausgabe ähnlich der folgenden sehen:

Creating network "hello-world-compose_default" with the default driver
Creating hello-world-compose_hello_world_1 ... done
Attaching to hello-world-compose_hello_world_1
hello_world_1  | 
hello_world_1  | Hello from Docker!
...
hello_world_1  | For more examples and ideas, visit:
hello_world_1  |  https://docs.docker.com/get-started/
hello_world_1  | 
hello-world-compose_hello_world_1 exited with code 0Code-Sprache: JavaScript (javascript)

Diese Meldung bestätigt, dass der Container erfolgreich gestartet und ausgeführt wurde.

5. Container verwalten

Um den Status der Container zu überprüfen, kannst du folgende Befehle verwenden:

Laufende Container anzeigen:

docker-compose ps

Logs der Container anzeigen:

docker-compose logs

6. Anwendung stoppen und Ressourcen bereinigen

Um die Anwendung zu stoppen und die erstellten Ressourcen zu entfernen, verwende:

docker-compose down

Dieser Befehl stoppt die Container und entfernt die Netzwerke, die von Docker-Compose erstellt wurden.

Mit diesem einfachen Beispiel hast du die Grundlagen von Docker-Compose kennengelernt. Du kannst nun komplexere Anwendungen definieren, indem du mehrere Dienste in der docker-compose.yml-Datei hinzufügst. In zukünftigen Artikeln werde ich auf fortgeschrittene Themen eingehen, wie das Orchestrieren mehrerer Container und die Verwendung von Volumes und Netzwerken in Docker-Compose.

Klicke, um diesen Beitrag zu bewerten!
[Gesamt: 0 Durchschnitt: 0]

Bylars

Ich bin 44 Jahre alt und blogge seit mehreren Jahren. Beruflich bin ich Fachangestellter für Bädeebetriebe und lebe und liebe diesen Beruf in und rundum Fulda. Habe eine Partnerin und liebe genauso meinen Dackel.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert