[英]WSL2 lan redirection issue when Docker installed
我当前的设置是我的笔记本电脑和台式机,它们连接在同一个网络中。 我做 webdev,所以我在我的笔记本电脑上编码,并在我的桌面浏览器中查看结果。 安装 docker 后,我无法再访问我的笔记本电脑的 web 服务器,这些服务器直接在 WSL2 中运行,前提是它们在 Docker 容器中运行。
WSL1 中不存在此问题,即:
如果您在 windows 机器上安装 docker 桌面并启用新的 WSL2 集成,它将弄乱您的 windows 'hosts' 文件(位于 System3 %SYSTEMROOT%\System32\drivers\etc\hosts
)
Docker 自动添加以下内容:
# Added by Docker Desktop
192.168.1.77 host.docker.internal
192.168.1.77 gateway.docker.internal
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
请注意,192.168.1.77 是我在路由器中设置的笔记本电脑 static IP
我的猜测是这些输入将我的桌面请求重定向到 docker,完全破坏了直接访问。 这并不理想,因为我必须构建一个容器来编写一个简单的反应应用程序,这会导致很多无用的复杂性
ps:我在hosts文件中尝试了以下条目,没有成功:
192.168.1.77 localhost
还:
172.22.3.92 ubuntu.wsl # managed by wsl2-host (service that creates a hostname for WSL2 ip)
192.168.1.77 ubuntu.wsl
唯一的解决方法是禁用 docker 并清理主机文件,这并不是它应该的样子。
将此添加到 ~/.wslconfig (win) 或 /etc/wsl.conf (wsl)
[network]
generateHosts = false
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.