当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 # Windows
bash
docker network prune
systemctl restart docker
bash
docker ps -a # 查看容器状态
docker inspect <容器ID> | grep -i port
bash
docker run -p 宿主机端口:容器端口 image_name
示例:docker run -p 8080:80 nginx
journalctl -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%的问题可解决。如仍失败,提供具体错误信息进一步诊断。