我在 Windows 上使用 Docker Desktop 来学习 Docker,并使用 WSL Ubuntu 来学习 Docker。 而我的机器的网络从互联网调制解调器获取的 IP 为 192.168.1.102,WSL IP 为 172.17.71.95,并且它们都使用这些设置连接到互联网。
但是,当我运行容器时,解析器(在 /etc/resolve.conf 中)被放置在调制解调器的 IP 范围内,这会阻止互联网连接。通过向resolve.conf添加名称服务器 8.8.8.8,我可以连接到互联网。
但问题是,对于像节点这样的容器,我无法更改解析器,因此我无法从容器内部连接到互联网。 在 Docker Desktop 上配置容器网络设置的最佳实践是什么?
我运行一个节点:alpine 容器,并尝试更改解析器。但它不起作用并且无法连接到互联网
确保 Docker Desktop 设置为使用 WSL 2 后端并启用 WSL 集成。 使用
--network=bridge
运行容器以利用 Docker 的默认桥接网络。
运行容器时使用 --dns
选项指定自定义 DNS 设置(例如,docker run
--dns 8.8.8.8 node:alpine
)。
使用 ip addr show eth0
验证 WSL 网络配置以确保正确的 IP 分配。
如果问题仍然存在,请重新启动 Docker Desktop 或主机并检查容器内的 DNS 解析。