Site icon bintorosoft.com

Docker Engine richtig konfigurieren: Daemon, Storage Driver und Logs

Programmer Bunny with laptop. Easter day concept. Generative Ai.

Die Docker Engine bildet das Herzstück jeder Container-Infrastruktur und steuert das Erstellen, Starten und Verwalten von Containern auf einem Linux-System. Um Docker effizient und zuverlässig zu betreiben, ist eine korrekte Konfiguration des Daemons, der Storage Driver und des Logging-Verhaltens entscheidend. In diesem Tutorial erfahren Sie praxisnah, wie Sie die Docker Engine optimal konfigurieren.

Der Docker Daemon

Der Docker Daemon (dockerd) ist der Hintergrunddienst, der Container verwaltet, Images baut und Netzwerke bereitstellt. Eine gezielte Konfiguration des Daemons ermöglicht bessere Performance, Sicherheit und Stabilität.

Daemon-Optionen und Konfigurationsdatei

Die zentrale Konfigurationsdatei befindet sich in der Regel unter /etc/docker/daemon.json. Typische Einstellungen umfassen Storage Driver, Logging-Optionen und Netzwerkparameter.

{
  "storage-driver": "overlay2",
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "bip": "172.18.0.1/16"
}

Daemon neu starten

Nach Änderungen muss der Daemon neu gestartet werden:

sudo systemctl restart docker
sudo systemctl status docker

Storage Driver konfigurieren

Der Storage Driver entscheidet, wie Docker Images und Container-Dateisysteme gespeichert werden. Eine falsche Wahl kann die Performance stark beeinträchtigen.

Übliche Storage Driver

Storage Driver prüfen

docker info | grep "Storage Driver"

Wechsel des Storage Drivers

In /etc/docker/daemon.json anpassen:

{
  "storage-driver": "overlay2"
}

Daemon neu starten, um die Änderung wirksam zu machen.

Logging konfigurieren

Docker speichert standardmäßig Logs im JSON-Format im Container-Dateisystem. Für Produktionssysteme ist es sinnvoll, Logging-Optionen zu optimieren, um Speicherverbrauch zu begrenzen und zentrale Logging-Lösungen zu ermöglichen.

Log-Treiber

Log-Rotation konfigurieren

Beispiel in daemon.json:

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

Dies begrenzt jede Log-Datei auf 10 MB und behält maximal drei Dateien.

Netzwerkoptionen konfigurieren

Docker verwendet standardmäßig ein Bridge-Netzwerk für Container. Anpassungen des IP-Bereichs oder zusätzlicher Netzwerke können notwendig sein.

Bridge-IP anpassen

{
  "bip": "172.25.0.1/16"
}

Dies ist besonders nützlich, wenn Subnetze mit dem Host-Netzwerk kollidieren.

Benutzerdefinierte Netzwerke

docker network create --driver bridge mein_net
docker run -d --network mein_net --name web nginx

Performance-Optimierungen

Zusätzlich zur Storage Driver-Konfiguration können folgende Maßnahmen die Performance verbessern:

Debugging und Monitoring

Docker bietet Tools, um den Zustand der Engine und Container zu überwachen:

Zusätzliche Best Practices

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:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version