如何排查ubuntu上docker的故障
导读:Ubuntu 上 Docker 故障排查清单 一 快速定位问题 检查 Docker 服务状态:运行 sudo systemctl status docker,若不是 active (running ,先尝试 sudo systemctl...
Ubuntu 上 Docker 故障排查清单
一 快速定位问题
- 检查 Docker 服务状态:运行 sudo systemctl status docker,若不是 active (running),先尝试 sudo systemctl start docker。
- 查看守护进程日志:运行 sudo journalctl -u docker.service -e,定位启动失败的具体报错。
- 验证 CLI 连通性:运行 docker info 或 docker ps;若提示 Cannot connect to the Docker daemon at unix:///var/run/docker.sock,说明守护进程未运行或当前用户无权限。
- 查看客户端版本:运行 docker --version,确认 CLI 与引擎版本匹配。
二 守护进程无法启动的排查
- 核对配置文件:检查 /etc/docker/daemon.json 是否为合法 JSON,必要时先移出或注释自定义项后重启;修改后执行 sudo systemctl restart docker。
- 常见根因与处理:
- 配置语法错误或无效项 → 修正 daemon.json;
- 端口冲突(如 2375/2376 被占用)→ 释放端口或调整配置;
- 存储驱动不兼容(如旧版 devicemapper)→ 改用 overlay2;
- 镜像/容器数据损坏或磁盘满 → 清理无用数据、扩容磁盘;
- 系统资源不足(内存/CPU)→ 释放资源或扩容。
- 重启验证:每次调整后执行 sudo systemctl restart docker 并复核 sudo journalctl -u docker.service -e。
三 容器层面的排查
- 查看容器清单与状态:运行 docker ps -a,关注 STATUS(如 Exited、Restarting)。
- 查看应用日志:运行 docker logs ,或 docker logs --tail=100 快速定位启动期错误。
- 进入容器诊断:运行 docker exec -it /bin/bash(或 /bin/sh)检查配置、依赖与进程。
- 资源与 OOM:运行 docker stats 观察内存/CPU;若频繁退出且状态含 OOMKilled,考虑增加内存或优化应用。
- 端口冲突:若启动报端口绑定失败,检查主机端口占用并调整 -p 映射。
- 镜像问题:运行 docker images 确认镜像存在;必要时 docker rmi 后 docker pull image:tag 重新拉取。
四 系统资源与权限检查
- 资源健康度:
- 内存与负载:free -h、top;
- 磁盘空间:df -h(Docker 数据目录或根分区满会导致异常);
- 清理空间:docker system prune -a(谨慎,会删除未使用镜像/容器/网络)。
- 用户权限:若提示 permission denied while trying to connect to the Docker daemon socket,将用户加入 docker 组:sudo usermod -aG docker $USER,然后重新登录或重启会话。
五 网络连通性与进阶处理
- 网络连通性:
- 查看网络:docker network ls、docker network inspect ;
- 容器内测试:docker exec -it ping google.com、curl http://example.com;
- 端口连通:在主机执行 netstat -tulpen | grep < 端口> 检查占用。
- 仍未恢复时的进阶方案:
- 升级 Docker:sudo apt update & & sudo apt install docker-ce docker-ce-cli containerd.io;
- 彻底重装(会清空本地镜像/容器,务必先备份):
- 卸载:sudo apt-get remove --purge docker-ce;
- 安装:sudo apt-get update & & sudo apt-get install docker-ce。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何排查ubuntu上docker的故障
本文地址: https://pptw.com/jishu/751348.html
