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
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
shellDanach können Sie Docker Compose Ausführungsrechte erteilen:
$ sudo chmod +x /usr/local/bin/docker-compose
shellMit der Option --version
überprüfen Sie, ob Compose erfolgreich installiert wurde.
$ docker-compose --version
shellSie erhalten folgenden Output:
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
shellSchritt 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
shellWechseln 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
shellSie können einen beliebigen Text-Editor wie nano verwenden, um eine index.html zu erstellen.
$ nano app/index.html
shellHier 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>
htmlSpeichern und schließen Sie die HTML-Datei und erstellen Sie nun docker-compose.yml.
$ nano docker-compose.yml
shellDie 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
YAMLIm 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
shellIst 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
shellDie 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.
Mit stop
können Sie die Container-Anwendung wieder beenden.
$ docker-compose stop
shellUnser 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.