Docker解决简单python docker logs无输出问题
·
故障现象
执行:
docker logs tornado-app
没有任何输出。
故障排查
1. 查看容器状态
docker ps -a
发现:
tornado-app Up
说明:容器正常运行不是容器退出导致无日志
2. 查看容器启动命令
docker ps
发现:
COMMAND "python main.py"
说明Python程序正常启动。
3. 分析原因
Docker日志来源:
docker logs
↓
stdout
stderr
Python的:
print()
默认可能存在输出缓冲。
导致:
程序输出-缓存在内存-Docker暂时无法读取
4. 修改代码
原:
print("Tornado server start")
修改:
print("Tornado server start", flush=True)
5. 重新构建镜像
因为容器不会自动同步代码:
docker compose down
docker compose up -d --build
6. 验证
执行:
docker logs tornado-app
输出:
Tornado server start
故障解决。
更多推荐
所有评论(0)