Deaktivieren Sie die Protokollierung für einen Container in Docker-Compose


87

Ich habe eine Webanwendung mit Docker Compose gestartet, für die ich die gesamte Protokollierung deaktivieren möchte (oder zumindest anstelle einer Datei in Syslog ausdrucken möchte).

Wenn meine Webanwendung funktioniert, kann sie beim Start schnell eine 11-GB-Protokolldatei generieren, sodass mein Speicherplatz sehr schnell aufgebraucht wird.

Ich bin mir bewusst, dass normaler Docker Protokollierungsoptionen für seinen Ausführungsbefehl hat, aber in Docker Compose verwende ich

Docker-komponieren

im Anwendungsordner, um meine Anwendung zu starten. Wie würde ich diese Funktionalität in meinem Fall aktivieren? Ich sehe nirgendwo online einen bestimmten Fall.

Antworten:


162

Sie sollten in der Lage sein, die Protokollierungsfunktion zu verwenden . Versuchen Sie, den Treiber auf "none" zu setzen.

logging:
    driver: none

2
Der Link zu den Dokumenten wird geschätzt, aber können Sie bitte genau erklären, wie diese Option verwendet werden sollte, damit ein Container keine Protokolle schreibt? Ich setze den Treiber auf, noneaber mein Postgres-Container schreibt immer noch jede Menge Mist an stdout, während meine Tests ausgeführt werden. Sehr nervig.
Cam Jackson

1
Ich aktualisiere den Link. Hoffentlich sollte es jetzt alle Informationen haben
Fuxi

24

Für ein kurzes Konfigurationsbeispiel so etwas wie

version: '3'
services:
    'postgres':
        image: postgres:9.6
        logging:
            driver: none 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.