Docker-Compose: Einfache Anwendung mit “Hello World”

Nachdem du die Grundlagen von Docker-Containern letzte Woche kennengelernt hast, zeige ich dir nun, wie du mit Docker-Compose eine einfache Anwendung erstellst. Wir beginnen mit einem klassischen “Hello World”-Beispiel, um die Funktionsweise von Docker-Compose zu verstehen.

Inhaltsverzeichnis

1. Was ist Docker-Compose?

2. Voraussetzungen

3. Ein einfaches Docker-Compose-Projekt erstellen

• 3.1 Projektverzeichnis anlegen

• 3.2 docker-compose.yml-Datei erstellen

4. Anwendung starten

5. Container verwalten

6. Anwendung stoppen und Ressourcen bereinigen

1. Was ist Docker-Compose?

Docker-Compose ist ein Tool, mit dem du Multi-Container-Anwendungen definieren und verwalten kannst. Anstatt jeden Container einzeln zu starten, kannst du in einer YAML-Datei (docker-compose.yml) die Konfiguration aller benötigten Dienste festlegen und sie mit einem einzigen Befehl starten.

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: Definiert die Dienste (Container), die Teil der Anwendung sind.

• hello_world: Name des Dienstes.

• image: hello-world: Verwendet 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 0

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.