Docker
🐳 Docker installieren¶
Installation von Docker auf einem Ubuntu 24.04 Server – Schritt für Schritt mit Erklärungen.
Ziel ist es, Docker sicher mit Root-Rechten (sudo
) zu betreiben
📦 1. System vorbereiten¶
📋 System aktualisieren
sudo apt update && sudo apt upgrade -y
📋 Nötige Zusatzpakete installieren
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release -y
Diese Tools werden für das Hinzufügen von externen Repositories und für HTTPS-basierte Paketquellen benötigt – insbesondere für den offiziellen Docker-Downloadserver.
🐳 2. Docker Installation (Community Edition)¶
Docker bietet zwei Hauptvarianten:
- Docker CE (Community Edition) – kostenlos, offen, ideal für Homelabs ✅
- Docker EE (Enterprise Edition) – kommerziell, für Unternehmen
📋GPG-Schlüssel von Docker hinzufügen
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg
📋Docker-Repository eintragen
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
📋Docker installieren
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
docker-ce
: der eigentliche Docker-Dienstdocker-ce-cli
: Kommandozeilentoolscontainerd.io
: verwaltet die Container im Hintergrundbuildx-plugin
&compose-plugin
: Tools für modernes Builden & Compose-Dateien
📋 3. Docker-Dienst aktivieren¶
sudo systemctl enable docker
sudo systemctl start docker
Damit Docker beim Systemstart automatisch verfügbar ist und du sofort loslegen kannst.
🔎 Hinweis zur Ausgabe:
Du wirst eventuell folgendes sehen:
Synchronizing state of docker.service with SysV service script...
Das ist kein Fehler, sondern eine Info, dass das System auch mit älteren Dienstverwaltungs-Methoden kompatibel ist.
Funktionstest
sudo docker run hello-world
🔐 4. Entscheidung für sudo docker
gegen docker
-Gruppe)¶
Manche Anleitungen empfehlen, den Benutzer zur docker
-Gruppe hinzuzufügen.
Wir tun das bewusst nicht – und hier ist der Grund:
✅ Vorteile von sudo docker
Mehr Sicherheit
: Nur wersudo
-Rechte hat, kann Container starten oder löschenTrennung von Rechten
: Kein ungewollter Root-Zugriff durch normale NutzerMinimiertes Risiko
: Der Zugriff auf Docker-Socket (/var/run/docker.sock
) bleibt geschützt
⚠️ Warum du nicht die docker
-Gruppe verwenden solltest
docker.sock = Root-Rechte ohne Passwort
Wenn ein Benutzer zur Gruppe docker
gehört, kann er:
- Container starten, die vollen Zugriff aufs Dateisystem haben
- Root-Kommandos ausführen – ohne
sudo
- Im schlimmsten Fall das ganze System kompromittieren
🛡️ Deshalb:
Für ein sicheres Homelab ist sudo docker
die bessere Wahl.
🧹 Docker Hello World Container löschen
Falls du den hello-world
-Container nach dem Test nicht mehr brauchst, kannst du ihn so entfernen:
Liste aller Container anzeigen:¶
sudo docker ps -a
Ausgabe:
CONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES
ffd67d6cadd2 hello-world "/hello" 19hours ago Exited(0)19hoursago priceless_roentgen
der Name des Container lautet: priceless_roentgen (siehe NAMES priceless_roentgen)
die Bezeichnung des Images: hello-world (siehe IMAGE hello-world)
🗑️ Container löschen:
sudo docker rm CONTAINERID
🧼 Optional: auch das zugehörige Image löschen
sudo docker rmi hello-world