Docker Installation unter Ubuntu

Veröffentlicht am 7. September 2023 (Zuletzt verändert am 8. November 2025) • 5 Min. Lesezeit • 1.020 Wörter

Aller Anfang beginnt mit Docker - die grundlegende Installation unter Ubuntu Server

Docker Installation unter Ubuntu
Foto von frank mckenna  auf Unsplash 

Heute geht es um das absolute Fundament für moderne Homelab- und Server-Projekte: Docker. Ob du Container für Webservices, Datenbanken, Monitoring-Tools oder ganze Entwicklungsumgebungen betreiben möchtest – aller Anfang beginnt mit einer sauberen Docker-Installation.

Dieser Artikel ist bewusst kurz und knackig gehalten, denn die Docker-Installation ist relativ unkompliziert. Ich folge dabei der offiziellen Dokumentation von Docker, ergänzt um einige praktische Verifikationsschritte. Betrachte diesen Post als Grundstein für kommende Projekte – die wirklich spannenden Sachen kommen danach!

Voraussetzungen

Bevor wir loslegen, stelle sicher, dass du folgende Voraussetzungen erfüllst:

  • Einen Ubuntu Server (20.04, 22.04 oder 24.04 LTS)
  • Sudo-Rechte auf dem System
  • Grundlegende Linux-Kenntnisse (Kommandozeile, Texteditor)
  • Internetverbindung für den Download der Pakete

Alte Docker-Installationen entfernen

Bevor wir Docker neu installieren, räumen wir zunächst auf. Falls auf deinem System bereits eine alte oder inoffizielle Docker-Installation vorhanden ist, sollten wir diese entfernen. Das verhindert Konflikte zwischen verschiedenen Docker-Versionen.

Führe folgenden Befehl aus, um alle potenziell vorhandenen Docker-Versionen zu deinstallieren:

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

Falls keines dieser Pakete installiert ist, erhältst du eine entsprechende Meldung – das ist völlig in Ordnung und bedeutet, dass dein System “sauber” ist.

Installation über apt Repository

Jetzt kommen wir zum Kern: der Installation von Docker über das offizielle apt-Repository. Diese Methode hat den Vorteil, dass du immer die aktuellste stabile Version von Docker erhältst und Updates komfortabel über apt einspielen kannst.

Repository-Vorbereitung

Zunächst aktualisieren wir die Paketlisten und installieren die notwendigen Abhängigkeiten:

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings

Diese Pakete werden benötigt, um das Docker-Repository sicher hinzuzufügen:

  • ca-certificates – Zertifikate für HTTPS-Verbindungen
  • curl – Zum Herunterladen des GPG-Schlüssels

GPG-Schlüssel hinzufügen

Nun fügen wir den offiziellen GPG-Schlüssel von Docker hinzu. Dieser stellt sicher, dass die heruntergeladenen Pakete authentisch sind:

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

Repository einrichten

Jetzt richten wir das offizielle Docker-Repository ein:

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

Dieser Befehl erstellt die Datei /etc/apt/sources.list.d/docker.list mit der korrekten Repository-URL für deine Ubuntu-Version.

Repository verifizieren

Bevor wir Docker installieren, prüfen wir, ob das Repository korrekt eingerichtet ist und welche Docker-Version verfügbar ist:

apt-cache policy docker-ce
docker-ce:
  Installiert: (none)
  Installationskandidat: 5:19.03.9~3-0~ubuntu-focal
  Versionstabelle:
     5:19.03.9~3-0~ubuntu-focal 500
        500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages

Perfekt! Die Ausgabe zeigt:

  • Installiert: (none) – Docker ist noch nicht installiert
  • Installationskandidat: – Die Version, die installiert wird
  • Die verfügbaren Versionen aus dem Docker-Repository

Docker Engine installieren

Jetzt können wir Docker CE (Community Edition) installieren:

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

Dieser Befehl installiert:

  • docker-ce – Die Docker Engine (das Herzstück)
  • docker-ce-cli – Die Kommandozeilen-Tools
  • containerd.io – Die Container-Runtime
  • docker-buildx-plugin – Erweitertes Build-System
  • docker-compose-plugin – Docker Compose als Plugin (sehr praktisch!)

Docker-Dienst starten und aktivieren

Docker sollte nach der Installation automatisch gestartet sein. Zur Sicherheit überprüfen wir das und aktivieren den automatischen Start beim Systemboot:

sudo systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2023-09-10 10:15:23 UTC; 2min ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 12345 (dockerd)
      Tasks: 8
     Memory: 28.5M
        CPU: 245ms
     CGroup: /system.slice/docker.service
             └─12345 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Großartig! Der Status zeigt active (running) – Docker läuft. Falls der Dienst nicht aktiv ist, starte ihn manuell:

sudo systemctl start docker

Stelle sicher, dass Docker beim Systemstart automatisch gestartet wird:

sudo systemctl enable docker

Funktionstest

Zum Abschluss führen wir einen kleinen Funktionstest durch. Docker stellt dafür ein spezielles Test-Image bereit:

sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete
Digest: sha256:4bd78111b6914a99dbc560e6a20eab57ff6655aea4a80c50b0c5491968cbc2e6
Status: Downloaded newer image for hello-world:latest

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

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

Optional: Docker ohne sudo verwenden

Standardmäßig benötigst du sudo, um Docker-Befehle auszuführen. Für den produktiven Einsatz auf Servern ist das oft gewünscht, für deinen lokalen Homelab-Server kann es aber lästig sein.

Falls du Docker-Befehle ohne sudo ausführen möchtest, füge deinen Benutzer zur docker-Gruppe hinzu:

sudo usermod -aG docker $USER

Teste, ob es funktioniert:

docker run hello-world

Falls du diesen Befehl ohne sudo ausführen kannst – herzlichen Glückwunsch, alles ist perfekt eingerichtet!

Fazit

Glückwunsch! Du hast Docker erfolgreich auf deinem Ubuntu Server installiert. Das war der erste Schritt – ab jetzt wird es richtig spannend!

Mit Docker kannst du nun:

  • Container aus dem Docker Hub herunterladen und starten
  • Eigene Images erstellen
  • Multi-Container-Anwendungen mit Docker Compose orchestrieren
  • Deine gesamte Homelab-Infrastruktur containerisieren

Aller Anfang beginnt mit Docker – und genau diesen Anfang hast du jetzt gemeistert.

In kommenden Artikeln werden wir Docker Compose kennenlernen, praktische Container für deinen Homelab einrichten (Reverse Proxy, Monitoring, Dashboards) und fortgeschrittene Themen wie Netzwerke und Volumes erkunden.

Viel Spaß beim Experimentieren mit Docker!

Weiterführende Links: