50 % Rabatt alle Pläne, begrenzte Zeit. Beginnend bei $2.48/mo
Noch 9 Minuten übrig
Entwicklertools und DevOps

Einfache Anleitung zum Erstellen von Docker-Protokollen: Überprüfen und Verwalten

Ada Lovegood By Ada Lovegood 9 Min. gelesen Aktualisiert am 23. Februar 2025
Docker-Protokolle

Möchten Sie wissen, was Docker-Apps hinter den Kulissen tun? Erfahren Sie mehr über das geheime Fenster, sogenannte Protokolle, in Ihre Container, das jede ihrer Bewegungen anzeigt. Die Protokolle sind sehr hilfreich bei der Behebung von Problemen. Aber bevor wir beginnen, werfen wir einen kurzen Blick darauf, was Docker und Docker Compose sind.

Mit Docker können Sie Ihre Anwendungen in kleine Container packen und auf den meisten Betriebssystemen ohne Abhängigkeiten ausführen. Es ist so, als würden Sie Ihre Apps in kleinen Boxen namens Containern ablegen, die überall auf die gleiche Weise ausgeführt werden können. Kenntnisse über Container sind eine wichtige Voraussetzung, um Docker Compose kennenzulernen. Deshalb empfehle ich Ihnen, zunächst unseren Blog zu lesen die Vorteile der Containerisierung.

Docker Compose wird mit Docker geliefert und vereinfacht die Entwicklung mehrerer Containeranwendungen durch die Verkettung ihrer Dienste, Netzwerke und Speicher. Docker-Containerprotokolle und Docker Compose-Protokollierung helfen Entwicklern zu sehen, was jeder Container tut.

Sind Sie neugierig auf Docker Compose Logs? Sie sind am richtigen Ort. In diesem Blog werden die Grundlagen von Docker Compose-Protokollen erläutert und weiterführende Details behandelt. Erfahren Sie, wie Sie Docker Compose für Ihre Projekte optimal nutzen.

Die Bedeutung von Docker Compose Logs

Stellen Sie sich vor, ein Entwickler startet eine App mit Docker, überspringt aber die Einrichtung von Docker-Protokollen. Zunächst scheint alles in Ordnung zu sein. Doch bald finden Benutzer Fehler und die App wird langsamer. Ohne Docker-Protokolle kann der Entwickler nicht sehen, was in den Docker-Containern schief gelaufen ist. Docker Compose-Protokolle sind wie eine detaillierte Aufzeichnung dieser Container. Sie zeichnen jedes Detail auf, was passiert, was wichtig ist, um später Probleme zu finden und zu beheben.

Als Entwickler oder Systemadministrator müssen Sie verstehen, was innerhalb und zwischen Multi-Chain-Anwendungen passiert. Hier fungieren Docker Compose-Protokolle als praktisches Werkzeug. Warum sind diese Protokolle also notwendig?

  • Fehlerbehebung und Debugging

Überprüfen Sie die Docker-Protokolle, wenn eine Anwendung nicht ordnungsgemäß ausgeführt wird oder Fehler auftreten. Docker-Protokolle sind die ersten Ressourcen, mit denen Sie das Problem verfolgen können. Durch die Untersuchung der Docker-Protokolle können Entwickler die Ursache und Quelle von Problemen ermitteln, sei es ein Fehler im Code, eine Fehlkonfiguration oder Ressourcenprobleme.

  • Überwachung des Anwendungszustands

Die regelmäßige Überwachung von Anwendungsprotokollen hilft dabei, den Gesamtzustand der Dienste zu verstehen. Protokolle können Frühwarnzeichen wie wiederholte Fehler und langsame Reaktionen aufdecken. Die frühzeitige Beobachtung dieser Muster kann potenzielle Probleme in der Zukunft verhindern.

  • Audit und Compliance

Für Anwendungen, die bestimmten Standards folgen müssen, sind Docker-Protokolle der erste Beweis dafür, ob die Anwendung Richtlinien einhält. Diese Protokolle spielen auch eine wesentliche Rolle bei der Überwachung autorisierter oder nicht autorisierter Aktivitäten.

  • Optimierung

Protokolle sind wertvolle Ressourcen für die Softwareoptimierung, indem sie Leistungsdaten bereitstellen. Entwickler können beispielsweise langsam laufende Abfragen, ineffiziente Codepfade oder nicht ausgelastete Ressourcen identifizieren.

Erstellen eines Docker-Rezepts: Bereitstellen eines Webservers

In diesem Abschnitt werden wir gemeinsam ein Docker-Rezept erstellen. Wir müssen zunächst etwas erstellen, um unsere Reise mit Docker Compose-Protokollen zu beginnen. Lassen Sie uns zu diesem Zweck einen Webserver bereitstellen. Um eine Docker-Datei zu erstellen, führen Sie einfach Folgendes aus nano Dockerfile im gewünschten Ordner auf Ihrem VPS mit folgendem Inhalt und speichern Sie es dann:

 

FROM nginx:alpine
RUN rm /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Was macht also jede Zeile dieses Codes?

  • Wir beginnen mit einer leichten Basis, nginx:alpine.
  • Als nächstes löschen wir die Standard-Willkommensseite von Nginx.
  • Anschließend stellen wir sicher, dass der Webserver den Port überwacht 80.
  • Schließlich führen wir den Nginx-Server mit aus CMD.

Da unsere Docker-Datei nun fertig ist, fahren wir mit dem nächsten Schritt fort, nämlich dem Erstellen der Docker Compose-Datei. Hier ist die Struktur des docker-compose.yml Datei:

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.html:/usr/share/nginx/html/index.html

Lassen Sie es uns aufschlüsseln, um jeden Teil vollständig zu verstehen:

  • Wir verwenden die Version 3.8.
  • In der nächsten Zeile nennen wir unseren Service „Web“.
  • Anschließend weisen wir Docker an, unseren Webserver aus dem aktuellen Ordner zu erstellen.
  • Wir verknüpfen Port 8080 auf unserem Host mit Port 80 in unserem Container, damit unser Webserver eine Verbindung herstellen kann.
  • Schließlich werden die Volume-Konfigurationskarten angezeigt index.html von der Host-Festplatte zum Container. Später können Sie eine erstellen index.html Datei mit beliebigem Inhalt und platzieren Sie sie an der gewünschten Stelle Docker-Datei Und docker-compose.yml Dateien existieren.

Jetzt ist es an der Zeit, unseren Docker-Container mit Docker Compose auszuführen. Wir rennen einfach Docker-Komponieren.

Führen Sie den Docker-Container mit Docker Compose aus

Sobald Sie das ausführen Docker-Komponieren Mit dem Befehl lädt Docker die erforderlichen Bilder aus dem Internet herunter und konfiguriert sie gemäß den Anweisungen in unseren Konfigurationsdateien.

Um zu überprüfen, ob unser Webserver aktiv ist, öffnen Sie Ihren Webbrowser, geben Sie Ihre VPS-IP-Adresse ein und fordern Sie Zugriff auf Port 8080 an.

Dockerisierte Webseite

Als Randnotiz können Sie verwenden docker-compose up -d um den Container im Hintergrund auszuführen.

Zugriff auf Protokolle mit Docker Compose

Jetzt ist unser Webserver bereit, betriebsbereit. Es werden bereits Protokolle erstellt und diese Informationen zur späteren Verwendung gespeichert. Der Zugriff auf Ihre Docker-Compose-Protokolle ist für die Fehlerbehebung und Überwachung unerlässlich. Aber wie können wir diese Protokolle lesen? Hier ist Docker-Compose-Protokolle ist praktisch. Stellen Sie sicher, dass Sie sich in dem Ordner befinden, in dem die Konfiguration vorhanden ist, und führen Sie diesen Befehl aus.

Zugriff auf Protokolle mit Docker Compose

Manchmal möchten Sie vielleicht die Live-Version der Protokolle sehen, während sie generiert werden. Fügen Sie einfach -f am Ende des vorherigen Befehls hinzu und führen Sie ihn aus Docker-Compose-Protokolle -f.

Zugriff auf Protokolle mit Docker Compose

Einige Docker-basierte Anwendungen stellen Ihnen möglicherweise keine Zeitstempel in ihren Protokollen zur Verfügung. Daher können Sie verwenden Docker-Compose-Protokolle -t um für jede Zeile des Protokolls eine aufgezeichnete Zeit hinzuzufügen.

Zugriff auf Protokolle mit Docker Compose

Docker Logs können auch die neuesten Einträge anzeigen. Um dies zu erreichen, verwenden Sie Docker-Compose-Protokolle – Schwanz 10 um die letzten 10 Protokolleinträge anzuzeigen. Docker erstellt Logs Tail, und in ähnlicher Weise ist Docker Logs Tail besonders nützlich, wenn Sie schnell die letzten Aktivitäten überprüfen möchten, ohne durch den gesamten Protokollverlauf scrollen zu müssen.

Zugriff auf Protokolle mit Docker Compose

Der Hauptzweck der Verwendung von Docker Compose besteht darin, Multi-Container-Anwendungen zu erstellen. Daher müssen Sie möglicherweise bestimmte Protokolle für einen gewünschten Dienst lesen. Verwenden Sie dazu docker-compose logs -f SERVICE, denken Sie daran, es zu ersetzen SERVICE mit Ihrem tatsächlichen Dienstnamen.

Zugriff auf Protokolle mit Docker

Docker-Protokollierung

Das Docker-Ökosystem kann für konvergente Anwendungen komplexer werden, insbesondere in großen Umgebungen. Wie wir bereits wissen, generiert jeder Container Protokolle. Daher ist ein Mechanismus namens Logging Driver für den Empfang, die Übermittlung und die Speicherung von Protokollen verantwortlich. Standardmäßig verwendet Docker JSON-Dateien für den Logging-Treiber, unterstützt aber auch verschiedene andere Treiber, jeder mit seinen Vor- und Nachteilen.

Alle sind sich einig, dass Protokolle in verschiedenen Bereichen von entscheidender Bedeutung sind, einschließlich der Fehlerbehebung und der Verbesserung der Systemleistung. Im Folgenden werden wir zwei der Hauptaspekte der Verwendung von Containerprotokollen behandeln:

  • Überwachung: Der Hauptzweck von Protokollen ist die Überwachung. Sie offenbaren im Allgemeinen den Gesamtzustand unserer Containeranwendungen.
  • Fehlerbehebung: Bei Problemen helfen uns Protokolle dabei, Anwendungsstörungen zu erkennen.

Da Docker-Protokolle und Docker-Compose-Protokolle kontinuierlich generiert werden, füllen sie möglicherweise den gesamten VPS-Speicher. Daher benötigen wir eine Strategie zur Verwaltung des Speicherplatzes, die als Protokollrotationsrichtlinie bezeichnet wird. Um diese Richtlinie zu erstellen und zu verwenden, kehren Sie zu zurück docker-compose.yml Datei und öffnen Sie sie. Fügen Sie dann einen Protokollierungsabschnitt mit der folgenden Konfiguration hinzu:

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.htm:/usr/share/nginx/html/index.htm
logging:
driver: json-file
options:
max-size: "200k"
max-file: "10"

Sie können sich ständig anpassen maximale Größe Und max-Datei nach Ihren Bedürfnissen.

Bereitstellungsmodelle für Docker-Protokolle

In komplexeren Umgebungen entscheiden sich Ingenieure möglicherweise für ein anderes Protokollierungsmodell als die Standard-JSON-Treiber wie Syslog, fluentd und andere. Beachten Sie jedoch, dass der JSON-Dateitreiber für die meisten Protokollierungsszenarien geeignet ist und möglicherweise keine Notwendigkeit besteht, vom Standardmodus abzuweichen.

Abhängig von der Architektur Ihrer Anwendung oder den organisatorischen Anforderungen sind Sie möglicherweise gezwungen, zentrale Protokollierungslösungen, sogenannte Log Aggregatoren, zu verwenden. Diese Dienstleistungen, einschließlich Elasticsearch, Logstash, Kibana usw. sind darauf ausgelegt, Protokolle aus verschiedenen Quellen zu empfangen und sie an einem einzigen zentralen Ort zu konsolidieren, zu speichern und zu analysieren.

Umgekehrt sollten Sie Ihre Protokolle mit kostengünstigeren Speicherlösungen aufbewahren. Stellen Sie sich das Szenario vor, in dem Ihr VPS schnellen und teuren Speicher nutzt; Es ist möglicherweise nicht wirtschaftlich, solche Premium-Ressourcen zum Speichern von Protokollen zu verwenden, die Sie möglicherweise nur zum späteren Nachschlagen benötigen.

Es stehen zahlreiche Protokollierungsmodelle zur Verfügung, jedes mit Vor- und Nachteilen. Es ist wichtig, jedes Modell sorgfältig zu bewerten und eines entsprechend Ihren spezifischen Anforderungen auszuwählen.

Linux VPS-Hosting

Holen Sie sich einen kostengünstigen oder Premium-Linux-VPS zum Hosten Ihrer Website oder Ihres Remote-Desktops zum günstigsten Preis. VPS läuft auf Linux KVM für höhere Effizienz und arbeitet auf leistungsstarker Hardware mit NVMe-SSD-Speicher für höhere Geschwindigkeit.

Mehr lesen

Abschluss

Das Verständnis der Docker Compose-Protokolle ist der Schlüssel. Sie helfen dabei, Ihre Docker-Anwendungen gut zu verwalten und zu debuggen. Wenn Sie lernen, auf diese Protokolle zuzugreifen und sie zu überwachen, können Sie Probleme besser lösen und die Leistung und Sicherheit Ihrer App steigern. Unabhängig davon, ob Sie Systeme entwickeln oder verwalten, ist die Verwendung von Docker Compose-Protokollen unerlässlich. Sie sorgen dafür, dass Ihr Containermanagement effektiv ist.

FAQ

Wie kann ich Docker Compose-Protokolle nach Zeit filtern?

Docker Compose bietet keine direkte Methode zum Filtern von Protokollen nach Zeit. Sie können Protokolle jedoch filtern, indem Sie sie zum Musterabgleich über grep weiterleiten. Sie können beispielsweise Folgendes verwenden: docker-compose logs | grep „2023-04-06“ und ersetzen Sie „2023-04-06“ durch das spezifische Datums- oder Uhrzeitmuster, nach dem Sie suchen.

Wie kann ich mit Docker Compose gestartete Container stoppen?

Navigieren Sie zu dem Verzeichnis, das die Datei docker-compose.yml enthält, und führen Sie den Befehl docker-compose down aus.

Wie entferne ich Protokolldateien manuell?

Anstatt die Protokollrotation in Ihrer docker-compose.yml-Datei zu konfigurieren, können Sie Docker-JSON-Protokolldateien manuell aus /var/lib/docker/containers/<container_id>/ entfernen. Zuvor sollten Sie die Docker-Container-ID mit docker ps -a ermitteln.

Können Sie Docker-Protokolle überwachen? 

Ja, das kannst du. Dazu sollten Sie den Docker-Logs-Befehl zusammen mit der Option -f oder –follow verwenden. Dadurch werden Docker-Protokolle für Sie erfasst.

Aktie

Mehr aus dem Blog

Lesen Sie weiter.

Ein Metallbehälter, der von einer leuchtenden neoncyanfarbenen Drahtgitterkuppel abgeschirmt wird und den Titel des Artikels und das Cloudzy-Logo vor einem tiefblauen Hintergrund zeigt.
Entwicklertools und DevOps

Die wichtigsten Docker-Sicherheitsfehler, die Sie im Jahr 2026 vermeiden sollten

Sie können Docker monatelang ohne sichtbare Probleme in der Produktion ausführen. Container starten, Apps reagieren, nichts geht kaputt. Dann entsteht ein offengelegter Port oder eine falsch konfigurierte Berechtigung

Rexa CyrusRexa Cyrus 15 Minuten gelesen
Eine leuchtend blaue 3D-Würfelstruktur, die Docker-Container darstellt, neben dem Text „Portainer vs. Yacht: Welche Docker-Benutzeroberfläche sollten Sie wählen“ und dem Cloudzy-Logo.
Entwicklertools und DevOps

Portainer vs. Yacht: Welche Docker-Benutzeroberfläche sollten Sie im Jahr 2026 wählen?

Die Verwaltung von Docker-Containern über die CLI ist für einfache Setups effektiv, lässt sich jedoch schlecht skalieren. Wenn die Anzahl der Container zunimmt, wird die manuelle Nachverfolgung von Status, Protokollen und Aktualisierungen zu einem Fehler

Rexa CyrusRexa Cyrus 13 Min. Lektüre
Kontinuierliche Integrationstools
Entwicklertools und DevOps

Beste CI/CD-Tools zur Optimierung Ihrer DevOps-Workflows im Jahr 2026

  Die Landschaft der Softwareentwicklung entwickelt sich schneller als je zuvor. Und wenn Sie diesem rasanten Wachstum nicht hinterherhinken wollen, sollten Sie DevOps-Methoden und Agile nutzen

Ada LovegoodAda Lovegood 11 Min. Lektüre

Bereit zur Bereitstellung? Ab 2,48 $/Monat.

Unabhängige Cloud, seit 2008. AMD EPYC, NVMe, 40 Gbit/s. 14 Tage Geld-zurück-Garantie.