Ich verwende Docker-Compose für zwei Container und führe es mit docker-compose up -d
Wenn ich jedoch versuche, die Protokolle mit docker-compose logs -f
anzuzeigen, werden nur die Protokolle eines der Container angezeigt. Ich habe versucht, den anderen Container einzeln auszuführen, und die Protokolle werden einwandfrei angezeigt. Ich freue mich über jede Hilfe.
json-file
(Standard) oder journald
?docker-compose version
?docker-compose.yml
-Datei freigeben?journald
docker-compose version 1.11.2, build dfed245
docker-py version: 2.1.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t 3 May 2016
version: '2'
services:
service-whose-logs-are-not-showing:
ports:
- "5553:5554"
image: image-name
command: python3.4 /path/pythonfile.py
volumes:
- /path1:/path2
- /path3:/path4
user: "username"
extra_hosts:
- "mxgateway:172.16.1.1"
restart: always
service-whose-logs-are-showing:
image: image-2-name
command: <command>
restart: always
Beachten Sie, dass die Protokolle einwandfrei angezeigt werden, wenn ich image-name
alleine ausführe.
Vielen Dank.
Hallo, ich habe gerade festgestellt, dass es ein Problem mit Python ist, das seine Standardausgabe nicht spült. Am Ende habe ich den folgenden Code zu meinem docker-compose.yml
hinzugefügt
environment:
- PYTHONUNBUFFERED=1
Wissen Sie, ob dies bei Docker häufig vorkommt?
Oh Gott, ich habe gute Zeit damit verbracht, dies zu verfolgen :) Es ist mir passiert, als ich Flask verwendet habe. Ich musste auf den Python-Code klicken, damit der Server neu startet und die akkumulierten Fehler-Tracebacks löscht.
Vielen Dank @bibiteix
Hilfreichster Kommentar
Hallo, ich habe gerade festgestellt, dass es ein Problem mit Python ist, das seine Standardausgabe nicht spült. Am Ende habe ich den folgenden Code zu meinem
docker-compose.yml
hinzugefügtWissen Sie, ob dies bei Docker häufig vorkommt?