Amazing Arch

docker 中 Python print 不生效解决办法

2020-03-19  本文已影响0人  天天向上卡索

docker 中 Python print 不生效解决办法

Intro

今天遇到一个情况,python 代码里使用 print 输出的日志在 docker 容器中没有输出,使用 docker logs 找不到日志

Solutions

显式调用 flush

调用的时候指定 flush 参数为 true

print("Hello? Anyone there?", flush=True)

环境变量

可以通过设置环境变量 PYTHONUNBUFFERED =1

使用 "-u" 参数执行 python 命令

在 dockerfile 中指定一个 -u 参数即可,如下所示:

# ...
CMD ["python", "-u", "Api.py"]

Reference

上一篇 下一篇

猜你喜欢

热点阅读