# 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](https://www.ionos.com/de-ch/digitalguide/server/konfiguration/docker-compose-tutorial/) 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](https://www.ionos.com/de-ch/digitalguide/server/konfiguration/docker-compose-auf-windows/) und [Docker Compose auf macOS](https://www.ionos.com/de-ch/digitalguide/server/konfiguration/docker-compose-auf-mac/) 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:

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

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

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

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

```shell
$ docker-compose --version
```

Sie erhalten folgenden Output:

[![Bild: Docker Compose Version](https://www.ionos.com/de-ch/digitalguide/fileadmin/_processed_/b/1/csm_docker-compose-version-ubuntu_428c28abad.webp "Docker Compose Version")](https://www.ionos.com/de-ch/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/docker-compose-version-ubuntu.png) 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:

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

### 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:

```shell
$ mkdir ~/compose-test
```

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

```shell
$ cd ~/compose-test
$ mkdir app
```

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

```shell
$ nano app/index.html
```

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

```html
<!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>
<div class="hash d-none" hidden>hash_80163526940f9acf0c172d6a6bcb0f301966b56e</div><script data-shy-copy-guard>(function(){var C=[0x00AD,0x200B,0x200C,0x200D,0x2060,0xFEFF];var s=function(t){for(var i=0;i<C.length;i++){t=t.split(String.fromCharCode(C[i])).join("");}return t;};document.addEventListener("copy",function(e){var sel=document.getSelection();if(!sel||sel.isCollapsed||!e.clipboardData){return;}e.clipboardData.setData("text/plain",s(sel.toString()));try{var d=document.createElement("div");d.appendChild(sel.getRangeAt(0).cloneContents());e.clipboardData.setData("text/html",s(d.innerHTML));}catch(x){}e.preventDefault();});})();</script></body>
</html>
```

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

```shell
$ nano docker-compose.yml
```

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

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

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:

```shell
$ docker-compose up -d
```

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.

```shell
$ docker-compose ps
```

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.

[![Bild: Docker Compose Beispielseite](https://www.ionos.com/de-ch/digitalguide/fileadmin/_processed_/b/8/csm_docker-compose-test-page-ubuntu_f263b18904.webp "Docker Compose Beispielseite")](https://www.ionos.com/de-ch/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/docker-compose-test-page-ubuntu.png) Beispielseite für einen Nginx-Container Mit `stop` können Sie die Container-Anwendung wieder beenden.

```shell
$ docker-compose stop
```

Tipp Unser [Docker-Tutorial](https://www.ionos.com/de-ch/digitalguide/server/konfiguration/docker-tutorial-installation-und-erste-schritte/ "Docker-Tutorial: Installation und erste Schritte") 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.


This is a markdown version of: [https://www.ionos.com/de-ch/digitalguide/server/konfiguration/docker-compose-installieren-unter-ubuntu/](https://www.ionos.com/de-ch/digitalguide/server/konfiguration/docker-compose-installieren-unter-ubuntu/) for AI/LLM consumption.