常见问题排查
Docker 常见问题的排查和解决方法
📋 目录
容器无法启动
问题诊断
# 查看容器日志
docker logs my-container
# 查看容器状态
docker ps -a
# 查看容器详细信息
docker inspect my-container常见原因
-
端口被占用
# 检查端口占用 lsof -i :8080 # 或 netstat -tulpn | grep 8080 -
镜像不存在
# 检查镜像 docker images # 拉取镜像 docker pull myapp:latest -
资源不足
# 检查系统资源 docker stats
镜像拉取失败
问题诊断
# 查看详细错误信息
docker pull myapp:latest
# 检查网络连接
ping registry-1.docker.io常见原因
-
网络问题
# 配置镜像加速器 # 编辑 /etc/docker/daemon.json { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn" ] } -
认证失败
# 重新登录 docker login -
镜像不存在
# 检查镜像名称和标签 docker search myapp
网络连接问题
问题诊断
# 检查容器网络
docker network inspect bridge
# 测试容器间连接
docker exec container1 ping container2常见原因
-
网络配置错误
# 检查网络配置 docker network ls docker network inspect my-network -
防火墙阻止
# 检查防火墙规则 iptables -L
存储空间问题
问题诊断
# 查看 Docker 空间使用
docker system df
# 查看详细空间使用
docker system df -v清理方法
# 清理未使用的资源
docker system prune
# 清理所有未使用的资源(包括镜像)
docker system prune -a
# 清理数据卷
docker volume prune权限问题
问题诊断
# 检查容器用户
docker exec my-container whoami
# 检查文件权限
docker exec my-container ls -la /app解决方法
# 使用非 root 用户运行
docker run -u 1000:1000 myapp:latest
# 在 Dockerfile 中设置用户
USER appuser