Docker

0 47

Voraussetzungen

Bevor Sie Docker installieren, stellen Sie sicher, dass Ihr System folgende Anforderungen erfüllt:

  • 64-Bit-Linux-Distribution
  • Kernel-Version 3.10 oder höher
  • Root- oder sudo-Rechte

Überprüfen Sie Ihre Kernel-Version:

uname -r

Sollte etwas wie 5.15.0-58-generic ausgeben.

Unterstützte Distributionen

Diese Anleitung funktioniert für:

  • Ubuntu 22.04 LTS (Jammy)
  • Ubuntu 20.04 LTS (Focal)
  • Ubuntu 18.04 LTS (Bionic)
  • Debian 11 (Bullseye)
  • Debian 10 (Buster)

Schritt 1: System aktualisieren

Aktualisieren Sie zunächst Ihre Paketlisten:

sudo apt-get update

Aktualisieren Sie installierte Pakete:

sudo apt-get upgrade -y

Schritt 2: Alte Docker-Versionen entfernen

Falls bereits ältere Docker-Versionen installiert sind, entfernen Sie diese:

sudo apt-get remove docker docker-engine docker.io containerd runc

Keine Sorge: Ihre Docker-Images, Container und Volumes bleiben in /var/lib/docker/ erhalten.

Schritt 3: Erforderliche Pakete installieren

Installieren Sie Pakete, die für das Hinzufügen von Docker-Repositories benötigt werden:

sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Was machen diese Pakete?

  • ca-certificates: Ermöglicht HTTPS-Verbindungen
  • curl: Lädt Dateien herunter
  • gnupg: Verschlüsselungs-Tools für GPG-Schlüssel
  • lsb-release: Erkennt Ihre Linux-Distribution

Schritt 4: Docker GPG-Schlüssel hinzufügen

Erstellen Sie das Verzeichnis für GPG-Schlüssel:

sudo mkdir -p /etc/apt/keyrings

Fügen Sie den offiziellen Docker GPG-Schlüssel hinzu:

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

Setzen Sie die richtigen Berechtigungen:

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

Warum GPG-Schlüssel? Sie stellen sicher, dass die Docker-Pakete authentisch sind und nicht manipuliert wurden.

Schritt 5: Docker-Repository einrichten

Fügen Sie das offizielle Docker-Repository hinzu:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Für Debian verwenden Sie stattdessen:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Schritt 6: Docker Engine installieren

Aktualisieren Sie die Paketlisten erneut:

sudo apt-get update

Installieren Sie Docker Engine, CLI und Containerd:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Was wird installiert?

  • docker-ce: Docker Community Edition Engine
  • docker-ce-cli: Kommandozeilen-Interface
  • containerd.io: Container-Runtime
  • docker-compose-plugin: Docker Compose v2

Die Installation dauert 1-3 Minuten.

Schritt 7: Installation überprüfen

Überprüfen Sie, ob Docker installiert wurde:

docker --version

Sollte ausgeben: Docker version 24.0.x, build xxxxx

Überprüfen Sie Docker Compose:

docker compose version

Sollte ausgeben: Docker Compose version v2.x.x

Schritt 8: Docker-Dienst starten

Docker sollte automatisch starten. Falls nicht:

sudo systemctl start docker

Aktivieren Sie den automatischen Start beim Booten:

sudo systemctl enable docker

Überprüfen Sie den Status:

sudo systemctl status docker

Sie sollten Active: active (running) sehen.

Schritt 9: Test-Container ausführen

Testen Sie Docker mit dem hello-world-Container:

sudo docker run hello-world

Sie sollten eine Erfolgsmeldung sehen:

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

Schritt 10: Docker ohne sudo verwenden

Standardmäßig benötigen Docker-Befehle Root-Rechte. Um Docker als normaler Benutzer zu verwenden, fügen Sie Ihren Benutzer zur docker-Gruppe hinzu:

sudo usermod -aG docker $USER

Aktivieren Sie die Änderung:

Melden Sie sich ab und wieder an, oder führen Sie aus:

newgrp docker

Testen Sie ohne sudo:

docker run hello-world

Sicherheitshinweis: Benutzer in der docker-Gruppe haben Root-Äquivalent-Rechte. Fügen Sie nur vertrauenswürdige Benutzer hinzu.

Docker Compose V1 entfernen (optional)

Wenn Sie die alte Version von Docker Compose installiert haben:

sudo rm /usr/local/bin/docker-compose

Die neue Version wird als Plugin integriert: docker compose (mit Leerzeichen) statt docker-compose.

Nützliche Post-Installation-Schritte

1. Docker-Netzwerk konfigurieren

Standardmäßig verwendet Docker den Bereich 172.17.0.0/16. Bei Konflikten können Sie das ändern:

sudo nano /etc/docker/daemon.json

Fügen Sie hinzu:

{
  "bip": "10.200.0.1/24",
  "default-address-pools": [
    {"base": "10.201.0.0/16", "size": 24}
  ]
}

Starten Sie Docker neu:

sudo systemctl restart docker

2. Logging-Optionen konfigurieren

Begrenzen Sie die Log-Größe:

sudo nano /etc/docker/daemon.json
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

3. Docker auf IPv6 vorbereiten

Falls Sie IPv6 benötigen:

sudo nano /etc/docker/daemon.json
{
  "ipv6": true,
  "fixed-cidr-v6": "2001:db8:1::/64"
}

Problembehebung

Problem: „Cannot connect to Docker daemon“

Lösung:

# Überprüfen Sie, ob Docker läuft
sudo systemctl status docker

# Starten Sie Docker
sudo systemctl start docker

Problem: „Permission denied“

Lösung:

# Fügen Sie Ihren Benutzer zur docker-Gruppe hinzu
sudo usermod -aG docker $USER

# Melden Sie sich ab und wieder an

Problem: „Unable to locate package docker-ce“

Lösung:

# Überprüfen Sie, ob das Repository korrekt hinzugefügt wurde
cat /etc/apt/sources.list.d/docker.list

# Aktualisieren Sie die Paketlisten
sudo apt-get update

Problem: Alte Kernel-Version

Lösung:

# Aktualisieren Sie den Kernel
sudo apt-get install linux-generic

# Starten Sie neu
sudo reboot

Docker deinstallieren

Falls Sie Docker vollständig entfernen möchten:

# Docker-Pakete entfernen
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin

# Alle Daten löschen (Vorsicht!)
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

Nächste Schritte

Docker ist jetzt installiert und einsatzbereit! Im nächsten Tutorial lernen Sie die wichtigsten Docker-Befehle kennen.

Weiter mit:

  • #6: Docker-Architektur verstehen
  • #7: Die wichtigsten Docker-Befehle
  • #8: Ihr erster Docker-Container

Checkliste

✅ System aktualisiert
✅ Alte Docker-Versionen entfernt
✅ Docker GPG-Schlüssel hinzugefügt
✅ Docker-Repository eingerichtet
✅ Docker Engine installiert
✅ Installation getestet
✅ Benutzer zur docker-Gruppe hinzugefügt

Glückwunsch! Sie haben Docker erfolgreich installiert.

Author: Andreas Lang

Sphinx-Flashdesign.de

Andreas Lang konzentriert sich seit zwei Jahrzehnten auf die Webentwicklung und Webdesign mit dem Schwerpunkt PHP, Laravel und Javascript und betreut seine Kunden mit Herz und Seele in allen Bereichen von Entwicklung, Design, Suchmaschinenoptimierung, IT-Recht, IT-Sicherheit etc.