docker 中 Python print 不生效解决办法

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 2,885评论 0 8
  • Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def...
    伊森H阅读 3,083评论 0 15
  • 个人笔记,方便自己查阅使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik阅读 67,768评论 0 5
  • Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def...
    时光清浅03阅读 504评论 0 0
  • 就在前几日,有篇晨读告诉我们,有的事如果拿捏得当的拖延是可以改变不好事态的。而今天的晨读则教我们如何不拖延的高效率...
    安心悦舍阅读 219评论 0 3