预约咨询 提交工单

Docker 容器运行时故障排查:SRE 实用指南

深入解析 Docker 容器运行时问题的常见场景、症状、诊断步骤、命令、风险控制、回滚及验证方法,以及何时联系 OpsGlobal 专家。

Docker 容器运行时故障排查:SRE 实用指南
DevOps 6min 5 浏览 2026-06-12
Docker容器运行时故障排查SRE

场景

你正在值班,收到告警:一个关键容器化应用启动后立即崩溃,或陷入重启循环。该容器运行在生产环境的 Docker 主机上,应用日志无明显错误。

症状

  • 容器退出码为 137(OOMKilled)、139(段错误)或 1(通用错误)。
  • 在 Kubernetes 中容器状态显示 CrashLoopBackOff,Docker 中显示 restarting。
  • docker logs <容器> 输出为空或不完整。

诊断

  1. 检查容器退出码:docker inspect <容器> --format '{{.State.ExitCode}}'
  2. 检查资源限制:docker inspect <容器> --format '{{.HostConfig.Memory}}' 以及 CPU 份额。
  3. 查看系统日志:journalctl -u docker.service -n 100 --no-pager 寻找 OOM 杀死或驱动错误。
  4. 使用 dmesg | grep -i kill 查看内核 OOM 杀手消息。
  5. 测试运行时健康:docker run --rm -it --runtime=runc hello-world
  6. 检查存储驱动问题:docker info | grep "Storage Driver"

关键命令

  • 安全重启 Docker 守护进程:systemctl restart docker(需谨慎)。
  • 清理卡住的容器:docker rm -f <容器>
  • 调整容器内存限制:docker update --memory=512m --memory-swap=512m <容器>
  • 使用 cgroups 调试:find /sys/fs/cgroup/memory/docker -name "memory.limit_in_bytes" -exec cat {} \;

风险控制

  • 重启 Docker 前,先排空节点负载或确保有副本(若使用 Kubernetes)。
  • 避免强制杀死关键事务中的容器;优先优雅关闭。
  • 所有变更先在预发环境测试。

回滚

  • 还原内存限制:docker update --memory=2g --memory-swap=2g <容器>(恢复原始值)。
  • 恢复旧镜像:docker pull <镜像>:旧标签 && docker stop <容器> && docker rm <容器> && docker run --restart=always ...
  • 若 Docker 重启导致问题,可通过 systemctl reload docker 或发送 HUP 信号重新加载配置。

验证

  • 变更后,通过 docker events --since 5m 监控容器启停。
  • 运行 docker stats --no-stream 查看资源使用。
  • 使用 curl 检查应用健康端点。

何时提交 OpsGlobal 工单

  • 调整资源后仍持续出现运行时错误。
  • Docker overlay 文件系统损坏,需要数据恢复。
  • 出现内核或 Docker 引擎 bug,需要供应商升级。

适用场景

适合正在处理 DevOps、Docker, 容器运行时, 故障排查, SRE 相关问题的团队,用于快速建立排查路径和交付标准。

问题背景

深入解析 Docker 容器运行时问题的常见场景、症状、诊断步骤、命令、风险控制、回滚及验证方法,以及何时联系 OpsGlobal 专家。

排查步骤

先确认影响范围和最近变更,再收集日志、配置、指标和链路数据,最后按风险从低到高执行修复。

命令示例

示例命令请替换为你的真实资源名,并使用环境变量保存账号、密码、token 等敏感信息。

风险说明

生产环境操作前需要确认备份、权限边界、变更窗口和回滚路径,避免扩大故障影响。

回滚方案

保留原配置和发布版本;如修复后指标异常,立即回退配置、镜像或数据库变更并复核日志。

交付清单

问题定位记录、关键命令、修复步骤、验证结果、后续优化建议。

!

遇到类似技术问题?

如果你的服务器、K8s、Docker、CI/CD、数据库或监控系统出现类似问题,可以提交日志和配置文件,我们帮你远程诊断。

工单 WhatsApp 联系 咨询