← Zurück zum Blog

Docker & Docker Compose unter Linux installieren

3 Min. Lesezeit
DockerLinuxContainer

Docker & Docker Compose unter Linux installieren

Docker ist die meistgenutzte Container-Plattform. Mit Docker lassen sich Anwendungen in isolierten Containern betreiben – unabhängig vom Host-System. In diesem Post installieren wir Docker Engine und Docker Compose auf einem Debian/Ubuntu-System.

Was ist Docker?

Docker verpackt eine Anwendung zusammen mit allen Abhängigkeiten in ein sogenanntes Image. Aus diesem Image werden Container gestartet – leichtgewichtige, isolierte Prozesse, die sich das Kernel des Host-Systems teilen.

Der Vorteil gegenüber virtuellen Maschinen: Container starten in Sekunden und brauchen deutlich weniger Ressourcen.

Docker Engine installieren

Die einfachste Methode ist das offizielle Installationsskript von Docker:

curl -fsSL https://get.docker.com | sh

Das Skript erkennt automatisch die Distribution und installiert die passende Version.

Manuelle Installation (Debian/Ubuntu)

Falls du das Skript nicht verwenden möchtest, geht es auch manuell:

# Alte Versionen entfernen
sudo apt remove docker docker-engine docker.io containerd runc

# Abhängigkeiten installieren
sudo apt update
sudo apt install -y ca-certificates curl gnupg

# Docker GPG-Key hinzufügen
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Repository hinzufügen
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Docker installieren
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Docker ohne sudo nutzen

Standardmäßig muss Docker mit sudo aufgerufen werden. Um das zu umgehen, füge deinen Benutzer zur docker-Gruppe hinzu:

sudo usermod -aG docker $USER

Danach einmal aus- und wieder einloggen (oder newgrp docker ausführen). Ab jetzt funktioniert docker ohne sudo.

Docker testen

docker run hello-world

Du solltest eine Erfolgsmeldung sehen. Damit läuft Docker korrekt.

Docker Compose installieren

Docker Compose ist seit Docker v2 als Plugin verfügbar und wird automatisch mitinstalliert, wenn du der Anleitung oben gefolgt bist. Überprüfen:

docker compose version

Falls du eine ältere Installation hast und das Plugin fehlt:

sudo apt install docker-compose-plugin

Hinweis: Das alte docker-compose (mit Bindestrich, Python-basiert) ist veraltet. Nutze immer docker compose (ohne Bindestrich).

Erster Docker Compose Stack

Erstelle eine Datei docker-compose.yml:

services:
  nginx:
    image: nginx:alpine
    ports:
      - "8080:80"
    restart: unless-stopped

Stack starten:

docker compose up -d

Nginx ist jetzt unter http://localhost:8080 erreichbar.

Wichtige Compose-Befehle

| Befehl | Beschreibung | |--------|--------------| | docker compose up -d | Stack im Hintergrund starten | | docker compose down | Stack stoppen und Container entfernen | | docker compose logs -f | Logs live verfolgen | | docker compose pull | Images aktualisieren | | docker compose ps | Status der Container anzeigen |

Docker automatisch starten

Docker läuft nach der Installation bereits als systemd-Dienst und startet automatisch beim Booten. Prüfen:

sudo systemctl status docker

Fazit

Docker und Docker Compose sind in wenigen Minuten installiert. Mit Docker Compose lassen sich auch komplexe Multi-Container-Setups sauber in einer einzigen YAML-Datei definieren. In weiteren Posts zeige ich, wie man Pi-hole, AdGuard und andere Dienste als Docker Container betreibt.

Kommentare