Zum Inhalt

Docker Installation

In diesem Abschnitt installierst du Docker aus dem offiziellen Repository.

1. Alte Docker-Versionen entfernen

Entferne eventuell vorhandene alte Installationen:

sudo apt remove -y docker docker-engine docker.io containerd runc 2>/dev/null || true
Warum ist das notwendig?

Verschiedene Docker-Versionen (docker.io, docker-ce) können Konflikte verursachen. Eine saubere Installation verhindert Probleme.

2. Abhängigkeiten installieren

Installiere benötigte Pakete für das Repository:

sudo apt update

sudo apt install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

3. Docker GPG-Key hinzufügen

Füge den offiziellen GPG-Schlüssel von Docker hinzu:

# Verzeichnis erstellen
sudo install -m 0755 -d /etc/apt/keyrings

# GPG-Key herunterladen
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
    sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Berechtigungen setzen
sudo chmod a+r /etc/apt/keyrings/docker.gpg

4. Docker Repository hinzufügen

Füge das offizielle Docker-Repository hinzu:

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

Aktualisiere die Paketlisten:

sudo apt update

5. Docker installieren

Installiere Docker Engine, CLI und Compose:

sudo apt install -y \
    docker-ce \
    docker-ce-cli \
    containerd.io \
    docker-buildx-plugin \
    docker-compose-plugin
Paket Beschreibung
docker-ce Docker Engine (Community Edition)
docker-ce-cli Docker Command-Line Interface
containerd.io Container Runtime
docker-buildx-plugin Erweitertes Build-System
docker-compose-plugin Multi-Container-Orchestrierung

6. Installation verifizieren

Docker-Version prüfen

docker --version

Erwartete Ausgabe (Version kann variieren):

Docker version 24.0.7, build afdd53b

Docker Compose-Version prüfen

docker compose version

Erwartete Ausgabe:

Docker Compose version v2.21.0

Test-Container ausführen

sudo docker run hello-world

Erwartete Ausgabe:

Hello from Docker!
This message shows that your installation appears to be working correctly.
...

7. Docker-Dienst aktivieren

Stelle sicher, dass Docker beim Boot startet:

# Dienst aktivieren
sudo systemctl enable docker

# Containerd aktivieren
sudo systemctl enable containerd

Status prüfen:

sudo systemctl status docker

8. Benutzer zur Docker-Gruppe hinzufügen

Sicherheitshinweis

Mitglieder der Docker-Gruppe haben effektiv Root-Rechte, da sie Container mit Host-Zugriff starten können. Füge nur vertrauenswürdige Benutzer hinzu.

Füge deinen Benutzer zur Docker-Gruppe hinzu:

sudo usermod -aG docker DEIN_USERNAME

Neu einloggen erforderlich

Die Gruppenmitgliedschaft wird erst nach erneutem Einloggen aktiv:

# Ausloggen und neu einloggen
exit

# Erneut verbinden
ssh DEIN_USERNAME@DEINE_SERVER_IP

Testen (ohne sudo):

docker ps

Sollte ohne Fehler funktionieren.

9. Docker Compose testen

Erstelle eine Test-Compose-Datei:

mkdir -p ~/docker-test && cd ~/docker-test

cat > docker-compose.yml << 'EOF'
version: "3.9"
services:
  hello:
    image: hello-world
EOF

Ausführen:

docker compose up

Aufräumen:

docker compose down
cd ~ && rm -rf ~/docker-test

Zusammenfassung

Nach Abschluss dieses Abschnitts:

  • Docker Engine installiert (offizielle Version)
  • Docker Compose installiert
  • Docker-Dienst aktiviert und gestartet
  • Benutzer zur Docker-Gruppe hinzugefügt
  • Installation verifiziert