Zum Inhalt springen

Docker installieren

Aus MegBes Wiki
Version vom 4. August 2026, 20:45 Uhr von Clawtronics (Diskussion | Beiträge) (Ausführliche DAU-sichere Arbeitsanleitung angelegt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Docker installieren

[Bearbeiten]

Diese Anleitung beschreibt die Installation von Docker Engine auf einem neuen Ubuntu-LTS-Server für `megbes-internal`. Sie basiert auf der offiziellen Docker-Dokumentation.

Voraussetzungen

[Bearbeiten]
  • unterstützte 64-Bit-Ubuntu-LTS-Version
  • Benutzerkonto mit `sudo`-Berechtigung
  • funktionierende Internet- und DNS-Verbindung
  • zuvor vollständig aktualisiertes System gemäß Ubuntu aktualisieren

Achtung bei bestehenden Servern: Nicht ungeprüft Docker-Pakete entfernen oder neu installieren. Auf einem bereits produktiv eingesetzten System zunächst Container, Images, Volumes und Installationsquelle erfassen.

1. Prüfen, ob Docker bereits installiert ist

[Bearbeiten]
docker --version

Zusätzlich:

systemctl status docker --no-pager

Wenn eine Docker-Version angezeigt wird und der Dienst läuft, nicht einfach erneut installieren. Stattdessen vorhandene Installation und Projektzustand dokumentieren.

2. Systemarchitektur und Ubuntu-Version prüfen

[Bearbeiten]
dpkg --print-architecture
cat /etc/os-release

Für die üblichen internen Server wird normalerweise `amd64` angezeigt. Bei Raspberry Pi kann `arm64` erscheinen.

3. Voraussetzungen installieren

[Bearbeiten]
sudo apt update
sudo apt install ca-certificates curl

Die Installation mit `Y` beziehungsweise `J` bestätigen, falls APT nachfragt.

4. Verzeichnis für Paket-Schlüssel anlegen

[Bearbeiten]
sudo install -m 0755 -d /etc/apt/keyrings

Der Befehl legt das Verzeichnis an und setzt passende Leserechte.

5. Offiziellen Docker-Schlüssel laden

[Bearbeiten]
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

Prüfen, ob die Datei vorhanden ist:

ls -l /etc/apt/keyrings/docker.asc

Es muss eine Datei mit einer Größe größer als null Byte angezeigt werden.

6. Offizielle Docker-Paketquelle einrichten

[Bearbeiten]

Den folgenden Block vollständig kopieren und ausführen:

sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

Danach Paketlisten neu laden:

sudo apt update

Erfolgskriterium

[Bearbeiten]

In der Ausgabe erscheint die Docker-Paketquelle ohne Signatur- oder HTTP-Fehler.

7. Docker Engine installieren

[Bearbeiten]
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Die vorgeschlagenen Änderungen prüfen und bestätigen.

8. Docker-Dienst prüfen

[Bearbeiten]
sudo systemctl status docker --no-pager

Erwarteter Zustand:

Active: active (running)

Falls Docker nicht läuft:

sudo systemctl start docker
sudo systemctl status docker --no-pager

Autostart prüfen und gegebenenfalls aktivieren:

sudo systemctl enable docker

9. Testcontainer starten

[Bearbeiten]
sudo docker run --rm hello-world

Docker lädt ein kleines Testimage und startet es. Die Ausgabe muss sinngemäß `Hello from Docker!` enthalten. Durch `--rm` wird der Testcontainer nach dem Lauf automatisch entfernt.

10. Optional: Docker ohne sudo verwenden

[Bearbeiten]

Für den vorgesehenen Administrationsbenutzer:

sudo usermod -aG docker "$USER"

Danach vollständig abmelden und erneut anmelden. Alternativ wirkt für die aktuelle Sitzung:

newgrp docker

Anschließend testen:

docker ps

Sicherheitshinweis: Mitglieder der Gruppe `docker` besitzen praktisch weitreichende Rechte auf dem Server. Nur ausdrücklich autorisierte Administrationskonten hinzufügen.

11. Installationsstand dokumentieren

[Bearbeiten]
docker --version
docker compose version
sudo docker info

Für die Projektseite notieren:

  • Ubuntu-Version und Architektur
  • Docker-Version
  • Installationsdatum
  • Name des Administrationsbenutzers
  • Ergebnis des `hello-world`-Tests

Typische Fehler

[Bearbeiten]
`Could not resolve host`
Internetverbindung und DNS prüfen.
`NO_PUBKEY` oder Signaturfehler
Schlüsseldatei und `Signed-By`-Pfad kontrollieren; nicht mit unsicheren APT-Optionen umgehen.
`permission denied while trying to connect to the Docker daemon socket`
Befehl zunächst mit `sudo` ausführen oder Gruppenmitgliedschaft nach vollständiger Neuanmeldung prüfen.
Docker startet nicht
Details anzeigen:
sudo journalctl -u docker --no-pager -n 100

Fehler nicht durch Löschen von `/var/lib/docker` „beheben“; dort können produktive Images, Container und Volumes liegen.

Nächster Schritt

[Bearbeiten]

Nach erfolgreicher Installation folgt die Einrichtung von megbes-internal.