Wyłącz rejestrowanie dla jednego kontenera w Docker-Compose

87

Mam aplikację internetową uruchomioną za pomocą Docker Compose, dla której chcę wyłączyć wszystkie rejestrowanie (lub przynajmniej wydrukować ją do syslog zamiast do pliku).

Kiedy moja aplikacja internetowa działa, może szybko wygenerować plik dziennika o pojemności 11 GB podczas uruchamiania, więc bardzo szybko zjada to miejsce na dysku.

Zdaję sobie sprawę, że normalny docker ma opcje logowania dla swojego polecenia uruchomienia, ale w Docker Compose używam

Docker-compose up

w folderze aplikacji, aby uruchomić moją aplikację. Jak mogę włączyć tę funkcję w moim przypadku? Nie widzę konkretnego przypadku w Internecie.

GreenGodot
źródło

Odpowiedzi:

162

Powinieneś móc skorzystać z funkcji logowania . Spróbuj ustawić sterownik na „brak”

logging:
    driver: none
Fuxi
źródło
2
Doceniamy link do dokumentów, ale czy mógłbyś dokładnie wyjaśnić, jak należy użyć tej opcji, aby kontener nie zapisywał dzienników? Ustawiam sterownik na, noneale mój kontener postgres nadal zapisuje stosy bzdur na standardowe wyjście, podczas gdy moje testy są uruchomione. Bardzo irytujące.
Cam Jackson,
1
Aktualizuję link. Miejmy nadzieję, że teraz powinno mieć wszystkie informacje
Fuxi
24

Aby uzyskać szybki przykład konfiguracji, coś w stylu

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

slatunje
źródło