首页主机资讯如何排查ubuntu上docker的故障

如何排查ubuntu上docker的故障

时间2025-11-19 17:21:04发布访客分类主机资讯浏览667
导读: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 infodocker 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(如 ExitedRestarting)。
  • 查看应用日志:运行 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 -htop
    • 磁盘空间: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 lsdocker network inspect
    • 容器内测试:docker exec -it ping google.comcurl 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
Linux防火墙如何优化性能提升速度 ubuntu与docker如何集成

游客 回复需填写必要信息