Używam kilku kontenerów przy użyciu docker-compose
. Widzę dzienniki aplikacji z poleceniem docker-compose logs
. Chciałbym jednak uzyskać dostęp do surowego pliku dziennika, aby na przykład gdzieś go wysłać? Gdzie to się znajduje? Wydaje mi się, że to osobny dziennik dla każdego kontenera (wewnątrz kontenera?), Ale gdzie mogę go znaleźć?
docker
docker-compose
user606521
źródło
źródło
004279dd2985037950beeba7e6fe45c10354476d3b82afb68e72dd612b03a8ff
. Jak się dowiedzieć, którego folderu szukać w konkretnym kontenerze?docker ps
docker ps
, otrzymasz wszystkie dostępne pojemniki wraz z ich identyfikatorami. Skopiuj identyfikator żądanego kontenera, a następnie/var/lib/docker/containers/
uruchomls | grep <paste the copied docker ID>
. Wtedy zobaczysz ten kontenercd /var/lib/docker/containers/
-bash: cd: / var / lib / docker / packages /: Permission deniedsudo cd /var/lib/docker/containers/
sudo: cd: command not founddocker ps --no-trunc
, aby zobaczyć cały idMożesz zobaczyć
docker inspect
każdy kontener, aby zobaczyć, gdzie są jego dzienniki:A jeśli próbujesz dowiedzieć się, gdzie dzienniki miały zarządzać swoim zbiorczym rozmiarem lub dostosować parametry samego logowania, znajdziesz następujące istotne.
Ustalenie ilości miejsca zarezerwowanego na logi
To pochodzi z prośby o możliwość wyczyszczenia historii logów (wydanie 1083) ):
(zwróć uwagę, że w obu składniach liczby są wyrażone jako ciągi znaków w cudzysłowach)
Możliwy problem z
docker-compose logs
brakiem zakończenialogs
nie kończy działania, jeśli kontener jest już zatrzymanyźródło
Aby zobaczyć, ile miejsca zajmuje dziennik każdego kontenera, użyj tego:
(możesz potrzebować
sudo
wcześniejls
).źródło
docker ps -qa | xargs docker inspect --format='{{.LogPath}}' | xargs sudo du -hl
Aby bezpośrednio wyświetlić plik dziennika w mniej, używam:
uruchom jako ./viewLogs.sh CONTAINERNAME
źródło
W systemie Windows, domyślna lokalizacja to:
C:\ProgramData\Docker\containers\<container-id>-json.log
.źródło
Od 22.08.2018 dzienniki można znaleźć w:
źródło
źródło