Docker Installation unter Ubuntu
Veröffentlicht am 7. September 2023 (Zuletzt verändert am 8. November 2025) • 5 Min. Lesezeit • 1.020 WörterAller Anfang beginnt mit Docker - die grundlegende Installation unter Ubuntu Server
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!
Bevor wir loslegen, stelle sicher, dass du folgende Voraussetzungen erfüllst:
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.
/var/lib/docker/ erhalten.
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; doneFalls keines dieser Pakete installiert ist, erhältst du eine entsprechende Meldung – das ist völlig in Ordnung und bedeutet, dass dein System “sauber” ist.
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.
Zunächst aktualisieren wir die Paketlisten und installieren die notwendigen Abhängigkeiten:
sudo apt-get updatesudo apt-get install ca-certificates curlsudo install -m 0755 -d /etc/apt/keyringsDiese Pakete werden benötigt, um das Docker-Repository sicher hinzuzufügen:
ca-certificates – Zertifikate für HTTPS-Verbindungencurl – Zum Herunterladen des GPG-SchlüsselsNun 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.ascsudo chmod a+r /etc/apt/keyrings/docker.ascJetzt 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 updateDieser Befehl erstellt die Datei /etc/apt/sources.list.d/docker.list mit der korrekten Repository-URL für deine Ubuntu-Version.
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 PackagesPerfekt! Die Ausgabe zeigt:
Installiert: (none) – Docker ist noch nicht installiertInstallationskandidat: – Die Version, die installiert wirdsudo apt-get install docker-ce=<VERSION> 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-pluginDieser Befehl installiert:
docker-ce – Die Docker Engine (das Herzstück)docker-ce-cli – Die Kommandozeilen-Toolscontainerd.io – Die Container-Runtimedocker-buildx-plugin – Erweitertes Build-Systemdocker-compose-plugin – Docker Compose als Plugin (sehr praktisch!)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.sockGroßartig! Der Status zeigt active (running) – Docker läuft. Falls der Dienst nicht aktiv ist, starte ihn manuell:
sudo systemctl start dockerStelle sicher, dass Docker beim Systemstart automatisch gestartet wird:
sudo systemctl enable dockerZum 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.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 $USERnewgrp docker ausführen.
Teste, ob es funktioniert:
docker run hello-worldFalls du diesen Befehl ohne sudo ausführen kannst – herzlichen Glückwunsch, alles ist perfekt eingerichtet!
docker-Gruppe haben faktisch root-Rechte auf dem System, da sie privilegierte Container starten können. Verwende dies nur auf vertrauenswürdigen Systemen und füge keine unbekannten Benutzer zur docker-Gruppe hinzu.
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:
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: