以下是在Ubuntu中对Docker容器进行故障排查的常用方法:
检查Docker服务状态
sudo systemctl status docker # 确保服务运行,未运行则启动
sudo systemctl start docker
查看容器状态与日志
docker ps -a # 查看所有容器状态(包括停止的容器)
docker logs <容器ID> # 查看容器日志,定位错误信息
docker logs --tail=100 <容器ID> # 查看最后100行日志
检查资源使用情况
docker stats # 查看容器CPU、内存等资源占用
free -h # 查看宿主机内存使用
top # 查看CPU占用
排查网络问题
docker port <容器ID> # 确认端口映射是否正确
docker exec -it <容器ID> ping 8.8.8.8 # 测试容器网络连通性
docker exec -it <容器ID> cat /etc/resolv.conf # 检查DNS配置
sudo ufw status # 查看防火墙状态
sudo iptables -L -n # 检查iptables规则是否限制容器端口
检查配置文件与依赖
docker inspect -f '{{ .Mounts }}' <容器ID> # 确认卷挂载路径及权限正确
进入容器交互式调试
docker exec -it <容器ID> /bin/bash # 进入容器内部执行命令,排查环境问题
更新与重建
sudo apt-get update && sudo apt-get upgrade docker-ce
参考来源:[1,2,3,4,5,6,8,9,10,11]