当Docker启动后无法访问时,可以按照以下步骤进行排查和解决:
systemctl status docker # Linux系统
sc query docker # Windows系统
bash
systemctl start docker # Linux
systemctl enable docker
Windows/macOS通过Docker Desktop界面启动。docker run hello-world
docker组(Linux)
bash
sudo usermod -aG docker $USER
newgrp docker # 刷新组权限/var/lib/docker空间或修复配置。bash
sudo ufw allow 2375/tcp # 开放Docker端口(Linux)
netsh advfirewall firewall add rule name="Docker" dir=in action=allow protocol=TCP localport=2375 # Windowsbash
docker network prune
systemctl restart dockerbash
docker ps -a # 查看容器状态
docker inspect <容器ID> | grep -i portbash
docker run -p 宿主机端口:容器端口 image_name
示例:docker run -p 8080:80 nginxjournalctl -u docker -n 50 --no-pager # Linux
Get-EventLog -LogName Application -Source Docker -Newest 20 # Windows
iptables冲突:关闭冲突服务或重置规则。端口占用:netstat -tulnp | grep <端口>(Linux)或Get-NetTCPConnection -State Listen(Windows)。更改Docker守护进程配置(/etc/docker/daemon.json):
{
"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
}
重启服务:systemctl restart docker。
重置Docker网络:
docker system prune -a --volumes
bash
setenforce 0 # 临时关闭SELinux服务状态 → 权限检查 → 网络/防火墙 → 端口映射 → 日志分析 → 配置调整
按步骤排查后,90%的问题可解决。如仍失败,提供具体错误信息进一步诊断。