2つのコンテナーにdocker-composeを使用しており、 docker-compose up -d
を使用して実行してい
しかし、 docker-compose logs -f
でログを表示しようとすると、いずれかのコンテナーのログのみが表示されます。 他のコンテナを個別に実行してみましたが、ログは問題なく表示されます。 私はどんな助けにも感謝します。
json-file
(デフォルト)またはjournald
は異なるログドライバーを使用していますか?docker-compose version
コマンドの出力は何ですか?docker-compose.yml
ファイルを共有できますか?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
image-name
を単独で実行すると、ログは問題なく表示されることに注意してください。
ありがとう。
こんにちは、Pythonがstdoutをフラッシュしないという問題であることに気づきました。 docker-compose.yml
次のコードを追加することになりました
environment:
- PYTHONUNBUFFERED=1
これがDockerでよくあることかどうか知っていますか?
ああ、私はこれを追いかけるのにかなりの時間を費やしました:) Flaskの使用中に起こったので、サーバーが再起動して蓄積されたエラートレースバックをフラッシュするように、Pythonコードでsaveを押す必要がありました。
どうもありがとう
最も参考になるコメント
こんにちは、Pythonがstdoutをフラッシュしないという問題であることに気づきました。
docker-compose.yml
次のコードを追加することになりましたこれがDockerでよくあることかどうか知っていますか?