Docker hat sich als Standardplattform für die Containerisierung von Anwendungen etabliert. Durch die Nutzung von Containern lassen sich Softwareprojekte konsistent, portabel und isoliert betreiben. In diesem Tutorial zeigen wir, wie Docker auf einem Linux-Server installiert wird, welche Konfigurationen sinnvoll sind und welche Best Practices für den produktiven Betrieb gelten.
Voraussetzungen für die Installation
Bevor Docker installiert wird, sollten folgende Punkte überprüft werden:
- Ein aktuelles Linux-System (z. B. Ubuntu, Debian, CentOS, Rocky Linux)
- Administrative Rechte (root oder sudo)
- Aktualisierte Paketlisten und Systemupdates
- Netzwerkzugang zu den offiziellen Docker-Repositories
# Beispiel für Systemupdate auf Debian/Ubuntu
sudo apt update && sudo apt upgrade -y
Beispiel für CentOS/Rocky Linux
sudo dnf update -y
Docker installieren
Installation auf Ubuntu / Debian
# Abhängigkeiten installieren
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
Docker GPG Key hinzufügen
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Repository eintragen
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg]
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Paketliste aktualisieren und Docker installieren
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
Installation auf CentOS / Rocky Linux
# Abhängigkeiten installieren
sudo dnf install -y yum-utils
Repository hinzufügen
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Docker Engine installieren
sudo dnf install -y docker-ce docker-ce-cli containerd.io
Docker-Dienst starten und aktivieren
# Docker starten
sudo systemctl start docker
Docker beim Systemstart aktivieren
sudo systemctl enable docker
Status prüfen
sudo systemctl status docker
Erste Schritte mit Docker
Nach der Installation kann die Funktionsfähigkeit von Docker getestet werden:
# Docker Version prüfen
docker --version
Testcontainer starten
sudo docker run hello-world
Dieser Container prüft die Installation und zeigt eine Bestätigungsmeldung an.
Docker ohne sudo nutzen
Um Docker-Befehle ohne root-Rechte auszuführen, kann der Benutzer zur Docker-Gruppe hinzugefügt werden:
sudo usermod -aG docker $USER
# Abmelden und neu einloggen, damit die Gruppenänderung wirksam wird
Best Practices für Docker auf Servern
Sicherheitsaspekte
- Docker nur aus offiziellen Repositories installieren
- Root-Rechte für Container vermeiden, sofern möglich
- Regelmäßige Updates der Docker Engine und Images
- Ressourcenlimits für Container setzen (
--memory,--cpus)
Storage und Volumes
Daten sollten in Volumes oder gemounteten Verzeichnissen gespeichert werden, um Persistenz bei Container-Neustarts zu gewährleisten:
# Volume erstellen
docker volume create mydata
Volume in Container mounten
docker run -v mydata:/app/data myimage
Netzwerkmanagement
- Docker-Bridge-Netzwerk standardmäßig verwenden
- Für Multi-Container-Setups eigene Netzwerke anlegen
- Ports gezielt freigeben, z. B.:
-p 8080:80
Images verwalten
- Nur vertrauenswürdige Images aus offiziellen Repositories verwenden
- Images regelmäßig aktualisieren, um Sicherheitslücken zu schließen
- Eigene Images mit Dockerfile bauen, um Konsistenz und Versionskontrolle zu gewährleisten
Logging und Monitoring
- Container-Logs über
docker logs <container>prüfen - Logging-Treiber konfigurieren, z. B.
json-fileoderjournald - Monitoring-Tools wie cAdvisor, Prometheus oder Grafana einbinden
Updates und Wartung
Regelmäßige Updates der Docker Engine und Images sind entscheidend für die Sicherheit:
# Engine aktualisieren
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
sudo dnf update -y # CentOS/Rocky
Container neu starten mit aktuellem Image
docker pull myimage
docker stop mycontainer
docker rm mycontainer
docker run -d myimage
Fehlerbehebung
Häufige Probleme und Lösungen:
- Dienst startet nicht:
sudo systemctl status dockerprüfen - Fehler beim Image-Pull: Netzwerk und Repository-Verfügbarkeit prüfen
- Container kann nicht auf Host-Verzeichnisse zugreifen: Berechtigungen prüfen
Fazit
Die Installation und Konfiguration von Docker auf Linux-Servern bildet die Grundlage für moderne Container-Infrastrukturen. Durch Best Practices wie Benutzerrechte, Volumes, Netzwerkisolierung, regelmäßige Updates und Monitoring wird der Betrieb sicher, stabil und wartbar. So lassen sich sowohl Entwicklungsumgebungen als auch produktive Server effizient betreiben.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.











