先记录现象
服务打不开,可能是容器进程退出,也可能是磁盘已满、证书过期、DNS 异常或应用连接数据库失败。先确定故障开始时间以及受影响范围,能减少无效操作。
docker compose ps
docker compose logs --since=30m --tail=200
docker stats --no-stream
df -h
分清三类日志
应用日志说明业务发生了什么,容器运行时日志说明进程是否退出,系统日志则能补充磁盘、内存和网络层面的线索。对于 systemd 管理的 Docker 服务,journalctl -u docker 也很有用。
常见误判
看见 500 错误就重启容器,可能短期恢复,但根因是数据库连接数用尽;发现 OOM 后只增加重启次数,也解决不了内存不足。应把日志中的时间点与 CPU、内存、磁盘图表对应起来。
建立轻量记录
每次故障记录时间、症状、关键日志、处理动作以及是否真正解决。三个月后反复遇到同一类问题时,这些短记录会比任何记忆更可靠。
重启之前的最后一步
如果故障仍在发生,先保留必要的日志、配置和现场状态。重启有时会清除最有价值的线索,而不是提供真正的修复。
以上内容用于经验交流。实际操作前,请核对设备型号、软件版本与官方说明,并备份重要配置。