Docker Compose unter Ubuntu einrichten
Docker Compose eignet sich hervorragend für die Entwicklung und Testumgebungen, ist aber auch für kleinere Produktivsysteme eine gute Wahl. Wir zeigen dir, wie du unter Ubuntu mit Compose Docker-Anwendungen einfach orchestrieren kannst.
Was sind die Voraussetzungen für Docker Compose auf Ubuntu?
Bevor du mit Docker Compose startest, stelle sicher, dass dein System bereit ist:
- Docker Engine: Da Compose eine Erweiterung ist, muss die Docker Engine bereits installiert sein.
- Betriebssystem: Ubuntu mit einem sudo-User, der über Root-Rechte verfügt.
Möchtest du ein anderes Betriebssystem nutzen? In unseren Ratgebern erfährst du, wie du Docker Compose auf Windows und Docker Compose auf macOS einrichtest.
Schritt-für-Schritt-Anleitung: Docker Compose auf Ubuntu installieren
Um Docker Compose unter Ubuntu zu nutzen, installiere zuerst die Docker Engine und prüfe deren Status. Sobald Docker glatt läuft, kannst du Compose laden und deine Anwendungen über eine YAML-Datei konfigurieren.
Schritt 1: Docker Compose laden und installieren
Hol dir die aktuellste Version von Docker Compose direkt aus dem offiziellen GitHub-Repository mit folgendem Befehl im Terminal:
$ curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-composeshellIm Anschluss verleihst du Docker Compose die nötigen Ausführungsrechte:
$ sudo chmod +x /usr/local/bin/docker-composeshellNutze die Option --version, um zu kontrollieren, ob die Installation erfolgreich war.
$ docker-compose --versionshellDu erhältst eine Ausgabe wie diese:

Sollte es Probleme geben, überprüfe bitte den angegebenen Pfad.
Zusätzlich kannst du eine symbolische Verknüpfung zum Verzeichnis /usr/bin anlegen:
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-composeshellSchritt 2: Die Datei docker-compose.yml konfigurieren
Um den Aufbau einer Docker-Compose-YAML-Datei zu zeigen, nutzen wir das Nginx-Image vom Docker Hub für unsere Container-Umgebung.
Erstelle zuerst einen neuen Ordner in deinem Home-Verzeichnis:
$ mkdir ~/compose-testshellWechsle hinein und erstelle dort ein Verzeichnis für das Root-Verzeichnis deiner Nginx-Umgebung.
$ cd ~/compose-test
$ mkdir appshellVerwende einen Editor deiner Wahl (z. B. nano), um eine index.html anzulegen.
$ nano app/index.htmlshellHier ist ein einfacher HTML-Code für deine Testseite:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Docker Compose Test</title>
</head>
<body>
<h1>This is a Docker Compose Test Page for an Nginx container.</h1>
</body>
</html>htmlSpeichere die HTML-Datei ab und erstelle nun die docker-compose.yml.
$ nano docker-compose.ymlshellDie Datei enthält die Konfigurationsversion sowie den Services-Block.
version: '3.9'
services:
web:
image: nginx:alpine
ports:
- "8000:80"
volumes:
- ./app:/usr/share/nginx/htmlYAMLHier ist „web“ als Dienst definiert. Wir nutzen das Nginx-Image und eine Portumleitung: Anfragen an Port 8000 am Host gehen an Port 80 im Container. Zudem nutzen wir ein geteiltes Volume, damit der lokale Ordner „app“ für Nginx erreichbar ist.
Schritt 3: Docker Compose starten
Mit diesem Befehl startest du den Web-Container direkt im Hintergrund:
$ docker-compose up -dshellFalls das Image noch nicht lokal vorhanden ist, wird es automatisch geladen.
Ob alles läuft, prüfst du ganz einfach mit ps.
$ docker-compose psshellDeine Testseite ist nun unter localhost:8000 erreichbar (lokal) oder über die IP-Adresse deines Remote-Servers.

Mit stop stoppst du die Anwendung wieder.
$ docker-compose stopshell