Site icon bintorosoft.com

Docker Logging konfigurieren: json-file, journald und logrotate

Close up of computer web page code inside of html file. Big data and Internet of things trend. Application web source code on monitor.

Die Konfiguration von Docker Logging ist entscheidend, um die Ausgabe von Container-Logs effizient zu verwalten und Speicherressourcen zu schonen. Docker unterstützt verschiedene Logging-Treiber wie json-file und journald, die sich für unterschiedliche Szenarien eignen. In Kombination mit logrotate lassen sich Logdateien automatisch rotieren und alte Einträge löschen. Dieses Tutorial zeigt, wie Sie Docker Logging konfigurieren, überwachen und beständig betreiben.

Docker Logging-Treiber im Überblick

Docker bietet mehrere Logging-Treiber:

json-file konfigurieren

Der json-file-Treiber ist einfach zu nutzen und unterstützt Optionen wie Größenlimit und Rotation.

services:
  web:
    image: nginx:latest
    container_name: web
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
    ports:
      - "80:80"

journald als Logging-Treiber

Mit journald werden Logs an das systemd Journal weitergeleitet, was zentrale Logverwaltung ermöglicht.

services:
  api:
    image: myorg/api-service:latest
    logging:
      driver: "journald"
    environment:
      - LOG_LEVEL=info

Logrotation mit logrotate

Für json-file-Logs empfiehlt sich eine zusätzliche Rotation über logrotate:

/etc/logrotate.d/docker-containers
/var/lib/docker/containers/*/*.log {
    rotate 7
    daily
    compress
    missingok
    notifempty
    copytruncate
}

Docker Daemon Logging konfigurieren

Docker kann standardmäßig einen globalen Logging-Treiber festlegen, um konsistente Einstellungen zu gewährleisten:

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

Die Datei /etc/docker/daemon.json ändern und den Docker-Daemon neu starten:

sudo systemctl restart docker

Praktische Beispiele

Logs eines Containers anzeigen

docker logs -f web
docker logs -f api

Logs mit Filterung und Tail

docker logs --tail 100 -f web

Überwachung von journald-Logs

journalctl -u docker -f
journalctl CONTAINER_NAME=api -f

Best Practices

Updatefähigkeit und Wartung

Logging-Einstellungen bleiben nach Container-Updates erhalten, solange Volumes und globale Daemon-Optionen bestehen. Neue Images können per Pull aktualisiert werden:

docker-compose pull
docker-compose up -d

Zusammenfassung

Die Konfiguration von Docker Logging ist entscheidend für die Stabilität und Überwachung von Container-Umgebungen. Mit json-file, journald und logrotate lassen sich Logs effizient verwalten, Speicherverbrauch begrenzen und zentrale Auswertungen ermöglichen. In Kombination mit Healthchecks, Restart Policies und Resource Limits entsteht eine robuste, wartbare Container-Infrastruktur.

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