故障现象

执行:

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

故障解决。

更多推荐