我将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代码上进行保存,以便服务器重新启动并清除累积的错误回溯。
非常感谢@bibiteix
最有用的评论
嗨,我只是意识到这是Python不刷新其stdout的问题。 我最终将以下代码添加到我的
docker-compose.yml
您知道这在Docker中是否很常见吗?