wake-up-neo.com

Wie kann ich die Protokollausgabe mithilfe des Docker-Compose-Laufs anzeigen?

Wenn ich docker-compose up verwende, sehe ich Protokolle für alle Container in meiner docker-compose.yml-Datei.

Wenn ich jedoch docker-compose run app verwende, sehe ich nur die Konsolenausgabe für app, aber keiner der Dienste, von denen app abhängt. Wie kann die Protokollausgabe für die anderen Dienste angezeigt werden?

40
sthomps

Siehe Docker-Protokolle

Sie können Docker Compose im getrennten Modus starten und sich später mit den Protokollen von all container verbinden. Wenn Sie mit der Überwachung der Protokolle fertig sind, können Sie sich von der Protokollausgabe ohne trennen, wodurch Ihre Dienste heruntergefahren werden.

  1. Verwenden Sie docker-compose up -d, um alle Dienste im getrennten Modus starten (-d) (im getrennten Modus werden keine Protokolle angezeigt)
  2. Verwenden Sie docker-compose logs -f -t, um attach selbst zu den Protokollen von alle laufenden Dienste zu gelangen, während -f bedeutet, dass Sie der Protokollausgabe folgen und die Option -t Ihnen Zeitstempel gibt (Siehe Docker reference )
  3. Verwenden Sie Ctrl + z oder Ctrl + c, um trennen aus der Protokollausgabe ohne Ihre laufenden Container herunterzufahren

Wenn Sie an den Protokollen eines einzelnen Containers interessiert sind, können Sie stattdessen das Schlüsselwort docker verwenden:

  1. Verwenden Sie docker logs -t -f <container-name>

Speichern Sie die Ausgabe

Um die Ausgabe in einer Datei zu speichern, fügen Sie dem Befehl logs Folgendes hinzu:

  1. docker-compose logs -f -t >> myDockerCompose.log
75
Bruno Bieri

Wenn Sie Ausgabeprotokolle aus mehreren Containern anzeigen möchten. Z.B. Angenommen, Sie verfügen über einen API-Container und einen Portal-Container. Dann können Sie Folgendes tun:

docker-compose logs -t -f --tail 5 portal api

Dabei steht 5 für die letzten 5 Zeilen aus beiden Protokollen.

5
Invincible
  1. verwenden Sie den Befehl, um Container im getrennten Modus zu starten. : docker-compose up -d 
  2. um die container anzuzeigen: use: docker ps
  3. protokolle für einen Container anzeigen:
    Dockerprotokolle 
0
akshaya pandey