首页 > 解决方案 > Docker-compose flask 应用程序不打印“打印”的输出

问题描述

我有一个烧瓶应用程序,它有一条路线,没有任何复杂的事情发生,在 docker 容器中运行。我一辈子都无法在日志中显示打印语句 ( docker-compose logs -f <containername>)。到目前为止,我已经尝试了各种答案,这些答案据说已经为其他人解决了这个问题,包括:

  1. 打电话print("test", flush=True)
  2. 设置PYTHONUNBUFFERED=1和验证它是在实际容器中设置的echo
  3. 环境PYTHONUNBUFFERED=0
  4. -u使用标志运行 python
  5. 使用日志模块(logger.warning、logger.info 等)

到目前为止,没有任何效果。烧瓶应用程序启动非常好,但没有显示我的打印语句的输出。我通过添加随机语法错误并观察应用程序本身来检查我正在编辑正确的文件。我正在使用 python 3.8 和 docker-compose 2

标签: pythondockerflask

解决方案


尝试这个:

import sys
print('It is working',file=sys.stderr)

推荐阅读