Ubuntu: Docker Compose installieren

Docker Compose ist insbesondere für die Entwicklung und Testumgebungen geeignet, aber auch für kleinere Produktionseinsätze. Wir erklären Ihnen, wie Sie unter Ubuntu mit Compose Docker-Anwendungen einfach orchestrieren können.

Was sind die Voraussetzungen für Docker Compose auf Ubuntu?

Bevor Sie Docker Compose verwenden können, müssen Sie sicherstellen, dass Ihr System die folgenden Voraussetzungen erfüllt:

  • Docker Engine: Compose ist eine Erweiterung der Docker Engine, die Sie installieren müssen.
  • Betriebssystem: Ubuntu, sudo-Benutzer mit Root-Rechten
Tipp

Wenn Sie ein anderes Betriebssystem als Linux benutzen wollen, lesen Sie in unserem Ratgeber, wie Sie Docker Compose auf Windows und Docker Compose auf macOS installieren.

Schritt-für-Schritt-Anleitung: Die Docker-Compose-Ubuntu-Installation

Um Docker Compose auf Ubuntu zu verwenden, müssen Sie zunächst die Docker Engine auf Ihrem System installieren und prüfen, dass sie ordnungsgemäß ausgeführt wird. Sobald Docker läuft, können Sie Compose herunterladen und die YAML-Datei für die Konfiguration Ihrer Anwendungen erstellen.

Schritt 1: Docker Compose herunterladen und installieren

Laden Sie die neueste Version von Docker Compose aus dem offiziellen GitHub-Repository herunter, indem Sie das folgende Kommando in ein Terminal eingeben:

$ curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
shell

Danach können Sie Docker Compose Ausführungsrechte erteilen:

$ sudo chmod +x /usr/local/bin/docker-compose
shell

Mit der Option --version überprüfen Sie, ob Compose erfolgreich installiert wurde.

$ docker-compose --version
shell

Sie erhalten folgenden Output:

Docker Compose Version
Wenn Ihnen die Versionsnummer angezeigt wird, wurde Docker Compose erfolgreich installiert.

Falls die Installation scheitert, sollten Sie den Pfad kontrollieren.

Sie können auch eine symbolische Verknüpfung zum Pfad /usr/bin herstellen:

$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
shell

Schritt 2: Die Datei docker-compose.yml konfigurieren

Um den Entwurf einer Docker-Compose-YAML-Datei zu demonstrieren, verwenden wir für die Container-Umgebung das Nginx-Image vom offiziellen Docker Hub.

Erstellen Sie zuerst einen neuen Ordner in Ihrem Home-Verzeichnis:

$ mkdir ~/compose-test
shell

Wechseln Sie in das Verzeichnis und legen Sie hierin einen neuen Ordner für das Root-Verzeichnis Ihrer Nginx-Umgebung an.

$ cd ~/compose-test
$ mkdir app
shell

Sie können einen beliebigen Text-Editor wie nano verwenden, um eine index.html zu erstellen.

$ nano app/index.html
shell

Hier sehen Sie den HTML-Code für eine Beispielseite:

<!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>
html

Speichern und schließen Sie die HTML-Datei und erstellen Sie nun docker-compose.yml.

$ nano docker-compose.yml
shell

Die Inhalte gliedern sich in die Versionsnummer der Konfiguration und den Services-Block.

version: '3.9'
services:
  web:
    image: nginx:alpine
    ports:
      - "8000:80"
    volumes:
- ./app:/usr/share/nginx/html
YAML

Im Services-Block ist „web“ als einziger Dienst aufgelistet. Danach folgen das verwendete Nginx-Image und die Portumleitung. In unserem Fall werden alle Anfragen an Port 8000 auf der Host-Maschine an den Web-Container auf Port 80, wo Nginx läuft, weitergeleitet. Des Weiteren benutzen wir ein geteiltes Volume zwischen dem Host und dem Container. Dadurch wird der lokale Ordner „app“ für die Nginx-Anwendung zugänglich.

Schritt 3: Docker Compose ausführen

Mit dem folgenden Kommando erstellen wir einen Web-Container und führen die Container-Umgebung im Hintergrund aus:

$ docker-compose up -d
shell

Ist das in der YAML-Datei angegebene Image nicht auf dem lokalen System verfügbar, wird es automatisch heruntergeladen.

Um zu testen, ob die Nginx-Umgebung läuft, können Sie den Befehl ps eingeben.

$ docker-compose ps
shell

Die Beispielseite, die Sie zuvor erstellt haben, ist nun auf localhost:8000 erreichbar, wenn Sie die Demo lokal auf Ihrem Rechner ausführen. Falls Sie einen Remote-Server verwenden, geben Sie statt „localhost“ einfach die IP-Adresse Ihres Servers an.

Docker Compose Beispielseite
Beispielseite für einen Nginx-Container

Mit stop können Sie die Container-Anwendung wieder beenden.

$ docker-compose stop
shell
Tipp

Unser Docker-Tutorial und unsere Übersicht der Docker-Befehle können Ihnen beim Einstieg in das Container-Tool helfen. Lernen Sie außerdem mehr über die Docker-Orchestration mit Swarm und Compose.