Ich verwende mehrere Container mit docker-compose
. Ich kann Anwendungsprotokolle mit Befehl sehen docker-compose logs
. Ich möchte jedoch auf die Rohprotokolldatei zugreifen, um sie beispielsweise irgendwohin zu senden. Wo befindet es sich? Ich denke, es ist ein separates Protokoll für jeden Container (innerhalb des Containers?), Aber wo kann ich es finden?
docker
docker-compose
user606521
quelle
quelle
004279dd2985037950beeba7e6fe45c10354476d3b82afb68e72dd612b03a8ff
. Woher wissen Sie, in welchem Ordner Sie nach einem bestimmten Container suchen müssen?docker ps
docker ps
, erhalten Sie alle verfügbaren Container zusammen mit ihren IDs. Kopieren Sie die ID Ihres gewünschten Containers und/var/lib/docker/containers/
starten Sie siels | grep <paste the copied docker ID>
. Dann sehen Sie diesen Docker-Containercd /var/lib/docker/containers/
-bash: cd: / var / lib / docker / container /: Berechtigung verweigertsudo cd /var/lib/docker/containers/
sudo: cd: Befehl nicht gefundendocker ps --no-trunc
, um die gesamte ID zu sehenSie können
docker inspect
jedem Container anzeigen, wo sich seine Protokolle befinden:Und falls Sie herausfinden möchten, wo die Protokolle ihre Gesamtgröße verwalten sollen, oder die Parameter der Protokollierung selbst anpassen möchten, finden Sie Folgendes relevant.
Festlegen des für die Protokolle reservierten Speicherplatzes
Dies stammt aus der Anfrage nach der Möglichkeit, den Protokollverlauf zu löschen (Problem 1083) ):
(Beachten Sie, dass in beiden Syntaxen die Zahlen als Zeichenfolgen in Anführungszeichen ausgedrückt werden.)
Mögliches Problem beim
docker-compose logs
Nichtbeendenlogs
wird nicht beendet, wenn der Container bereits gestoppt istquelle
Verwenden Sie Folgendes, um zu sehen, wie viel Speicherplatz das Protokoll jedes Containers belegt:
(Möglicherweise benötigen Sie eine
sudo
vorherls
).quelle
docker ps -qa | xargs docker inspect --format='{{.LogPath}}' | xargs sudo du -hl
Um die Protokolldatei in weniger direkt anzuzeigen, verwende ich:
Führen Sie als ./viewLogs.sh CONTAINERNAME aus
quelle
Unter Windows lautet der Standardspeicherort :
C:\ProgramData\Docker\containers\<container-id>-json.log
.quelle
Ab dem 22.08.2008 finden Sie die Protokolle in:
quelle
quelle