Docker Installation auf Ubuntu Server: Best Practices 2026

Docker ist eine zentrale Technologie für die Containerisierung von Anwendungen und ermöglicht Entwicklern sowie IT-Profis, Software konsistent, portabel und effizient auszuführen. Auf Ubuntu-Servern bildet Docker die Basis für moderne DevOps-Workflows, CI/CD-Pipelines und Microservices-Architekturen. In diesem Tutorial zeigen wir Best Practices für die Installation und Konfiguration von Docker auf Ubuntu Servern im Jahr 2026.

Voraussetzungen

Bevor Sie Docker auf einem Ubuntu-Server installieren, sollten einige Voraussetzungen erfüllt sein, um eine sichere und performante Umgebung zu gewährleisten:

  • Aktuelle Ubuntu-Serverversion (20.04 LTS, 22.04 LTS oder neuer)
  • Root-Zugriff oder Benutzer mit sudo-Rechten
  • Stabile Internetverbindung für Paket-Downloads
  • Aktualisierte Systempakete

System vorbereiten

Ein sauberes und aktualisiertes System ist die Grundlage für eine stabile Docker-Installation.

Paketquellen aktualisieren

sudo apt update
sudo apt upgrade -y

Erforderliche Pakete installieren

Docker benötigt einige Abhängigkeiten für die sichere Paketinstallation und Verwaltung:

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

Offizielles Docker-Repository hinzufügen

Für aktuelle Versionen ist es empfehlenswert, das offizielle Docker-Repository zu verwenden:

GPG-Schlüssel 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

Docker Engine installieren

Nachdem das Repository hinzugefügt wurde, kann Docker installiert werden:

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

Docker-Dienst starten und aktivieren

sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker

Installation prüfen

Testen Sie die Installation mit einem einfachen Container:

sudo docker run hello-world

Rootless Docker für erhöhte Sicherheit

Um Sicherheitsrisiken zu minimieren, kann Docker im Rootless Mode betrieben werden, sodass Container ohne Root-Rechte laufen:

dockerd-rootless-setuptool.sh install
export PATH=$HOME/bin:$PATH
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock
docker run hello-world

Netzwerk- und Firewall-Konfiguration

Docker erstellt standardmäßig Bridge-Netzwerke. Für sichere Server-Umgebungen sollten Ports nur bei Bedarf freigegeben werden:

docker network create --driver bridge mein_net
docker run -d --network mein_net -p 8080:80 nginx

Firewall-Regeln prüfen und nur notwendige Ports öffnen.

Storage Driver und Volumes

Die Wahl des richtigen Storage Drivers und die Nutzung von Volumes verbessern Performance und Datenpersistenz:

Storage Driver prüfen

docker info | grep "Storage Driver"

Empfohlener Driver

  • overlay2: Standard auf modernen Linux-Kernels, hohe Performance und Stabilität
  • Volumes für persistente Daten nutzen:
  • docker volume create data_volume
    docker run -d -v data_volume:/var/lib/mysql mysql

Logging konfigurieren

Logs sollten so konfiguriert werden, dass sie nicht den gesamten Speicher des Servers belegen:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

Docker Compose installieren

Docker Compose erleichtert das Starten von Multi-Container-Anwendungen:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

Monitoring und Wartung

  • Ressourcenverbrauch überwachen:
    docker stats
  • Laufende Container prüfen:
    docker ps
  • Nicht benötigte Images und Container aufräumen:
    docker system prune -a
  • Regelmäßige Updates von Docker Engine und Host-System durchführen

Best Practices für Produktivsysteme

  • Rootless Mode oder eingeschränkte Benutzerrechte verwenden
  • Nur vertrauenswürdige, offizielle Images einsetzen
  • Volumes für persistente Daten und Backups nutzen
  • Logging und Log-Rotation konfigurieren
  • Firewall-Regeln und Netzwerke sorgfältig planen
  • CI/CD-Pipelines auf separaten Testumgebungen prüfen
  • Monitoring und Healthchecks für kritische Dienste aktivieren

Tipps für die Praxis

  • Automatisierte Skripte für Installation und Updates verwenden
  • Container-Images regelmäßig auf Sicherheitslücken scannen
  • Ressourcenlimits für Container festlegen:
    docker run -d --memory="512m" --cpus="1.0" myapp
  • Docker Compose für Multi-Container-Umgebungen einsetzen
  • Snapshots und Backups für Volumes regelmäßig erstellen

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.

Related Articles