控制台 退出登录

Docker 容器故障排查:状态、日志、资源与网络四步法

容器出问题后的第一反应经常是“先重启试试”。重启可能暂时恢复服务,却也可能覆盖关键现场。更稳定的做法,是按固定顺序收集证据。

第一步:看状态,不急着操作

docker ps -a
docker inspect <container>
docker compose ps

重点确认退出码、健康检查、重启次数、镜像版本、挂载和环境变量。退出码能够快速区分应用主动退出、配置错误和资源终止。

第二步:读日志,并锁定时间窗口

docker logs --since 30m --tail 300 <container>
docker compose logs --since 30m <service>

从第一条异常开始读,而不是只看最后一行。数据库连接失败可能来自 DNS、密码、服务尚未就绪或连接数耗尽,最后一条重试信息通常不是根因。

第三步:检查宿主机资源

确认磁盘空间、内存、CPU、文件句柄和 inode。磁盘未满并不代表 inode 充足;内存看似够用,也可能已经触发 OOM。资源问题应同时查看容器限制和宿主机实际压力。

第四步:验证网络链路

依次检查容器是否监听正确端口、端口映射是否存在、服务名能否解析、反向代理是否指向正确地址,以及防火墙和安全组是否放行。

修复后留下记录

记录故障时间、影响、根因、临时处理、永久修复和验证方式。把临时命令改成配置或监控规则,下一次同类问题才不会重新从头排查。

本文采用 CC BY-NC-SA 4.0 协议发布

相关文章

欢迎来到 StartKK Lab:在代码、硬件与 AI 之间持续构建

欢迎来到 StartKK Lab:在代码、硬件与 AI 之间持续构建

个人项目复盘模板:把一次完成变成下一次更快

个人项目复盘模板:把一次完成变成下一次更快

嵌入式 UI 资源管理:让 XML 成为布局的单一真相源

嵌入式 UI 资源管理:让 XML 成为布局的单一真相源

从提示词到上下文工程:如何让 AI 输出更稳定

从提示词到上下文工程:如何让 AI 输出更稳定