在 Windows 10 上安装 Docker 后无法联网的问题通常与网络配置、Docker 服务或 Hyper-V 虚拟化相关。以下是逐步解决方案:
powershell
Restart-Service com.docker.service
powershell
docker network prune
powershell
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
DockerNAT
或 Default Switch
的虚拟交换机。若缺失,需手动创建或重置 Docker 网络。C:\ProgramData\Docker\config\daemon.json
),添加公共 DNS:
json
{
"dns": ["8.8.8.8", "8.8.4.4"]
}
powershell
netsh advfirewall set allprofiles state off
(测试后记得重新启用:netsh advfirewall set allprofiles state on
)powershell
netsh winsock reset
netsh int ip reset
powershell
docker run --network host nginx
或检查容器的 DNS 配置:
powershell
docker run --dns 8.8.8.8 alpine ping google.com
C:\Program Files\Docker
C:\ProgramData\Docker
C:\Users\<你的用户名>\AppData\Local\Docker
powershell
Get-EventLog -LogName Application -Source Docker
或检查 docker info
和 docker network inspect
的输出。现象 | 可能原因 | 解决方案 |
---|---|---|
容器无法访问外网 | DNS 配置错误 | 修改 daemon.json 的 DNS |
主机无法访问容器 | 端口未映射/防火墙阻止 | 检查 -p 80:80 映射规则 |
Docker 服务无法启动 | Hyper-V 冲突 | 禁用 Hyper-V 或重置虚拟交换机 |
如果问题仍未解决,请提供以下信息:
1. docker version
输出
2. 错误日志片段
3. 具体症状(如 ping/curl 测试结果)