centos

Docker在CentOS上的故障排查方法

小樊
39
2025-12-25 06:24:20
栏目: 智能运维

Docker在CentOS上的故障排查方法

一 快速定位流程

二 常见故障与修复对照表

症状 可能原因 快速修复
Cannot connect to the Docker daemon at unix:///var/run/docker.sock Docker未启动或socket异常 systemctl start docker;若/var/run/docker.sock为目录,rm -rf /var/run/docker.sock 后重启
Unit docker.service failed to load: No such file or directory 包未装或服务文件缺失 重新安装Docker CE;确认/usr/lib/systemd/system/docker.service存在
failed to start docker.service: unit docker.service is masked 服务被mask systemctl unmask docker.service 与 docker.socket 后启动
docker0: iptables: no chain/target/match by that name iptables链缺失(重启后常见) 重启Docker(systemctl restart docker)或重建iptables规则
Error initializing graphdriver: driver not supported / 启动卡住 存储驱动不兼容或异常 /etc/docker/daemon.json 设置"storage-driver": “overlay2” 后重启
Permission denied 挂载目录不可访问 SELinux策略限制 临时 setenforce 0 验证;或改用Z/ :Z挂载选项、调整SELinux策略
Job for docker.service failed(配置错误) daemon.json语法错误或路径不可写 校验JSON语法,修正配置并重启
container name “xxx” is already in use 容器名冲突 docker stop && docker rm 或换名启动
安装时报 Requires: container-selinux >= 2.9 依赖版本过低 安装/更新 container-selinux 后重装Docker CE

三 存储驱动与网络关键点

四 高风险操作与回退建议

五 一键排查脚本示例

#!/usr/bin/env bash
set -Eeuo pipefail

echo "===== 系统信息 ====="
uname -r
echo "内核版本: $(uname -r)"

echo -e "\n===== Docker版本 ====="
docker version 2>/dev/null || echo "Docker未安装或守护进程未运行"

echo -e "\n===== 服务状态 ====="
systemctl is-active --quiet docker && echo "Docker运行中" || {
  echo "Docker未运行,状态:"
  systemctl status --no-pager -l docker || true
}

echo -e "\n===== 服务日志(最近50行) ====="
journalctl -u docker.service -b --no-pager -n 50 || echo "无法读取journal日志"

echo -e "\n===== 配置文件检查 ====="
if [[ -f /etc/docker/daemon.json ]]; then
  echo "daemon.json内容:"
  jq . /etc/docker/daemon.json 2>/dev/null || cat /etc/docker/daemon.json
else
  echo "未找到 /etc/docker/daemon.json"
fi

echo -e "\n===== 资源与挂载 ====="
df -h | head -n 10
free -m
mount | grep docker || echo "未检测到docker挂载点"

echo -e "\n===== 防火墙状态 ====="
systemctl is-active --quiet firewalld && echo "firewalld运行中" || echo "firewalld未运行"

0
看了该问题的人还看了