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"]