安装Docker时出现WSL2 lan重定向问题
我当前的设置是我的笔记本电脑和台式机,它们连接在同一个网络中。我做webdev,所以我在笔记本电脑中编写代码,并在桌面浏览器中查看结果。安装docker后,我无法再访问直接在WSL2中运行的笔记本电脑web服务器,只有当它们在docker容器中运行时 WSL1中不存在此问题,即: 如果在windows计算机上安装docker desktop并启用新的WSL2集成,则会弄乱windows“主机”文件(位于安装Docker时出现WSL2 lan重定向问题,docker,redirect,windows-subsystem-for-linux,lan,Docker,Redirect,Windows Subsystem For Linux,Lan,我当前的设置是我的笔记本电脑和台式机,它们连接在同一个网络中。我做webdev,所以我在笔记本电脑中编写代码,并在桌面浏览器中查看结果。安装docker后,我无法再访问直接在WSL2中运行的笔记本电脑web服务器,只有当它们在docker容器中运行时 WSL1中不存在此问题,即: 如果在windows计算机上安装docker desktop并启用新的WSL2集成,则会弄乱windows“主机”文件(位于%SYSTEMROOT%\System32\drivers\etc\hosts) Docker
%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是我在路由器中设置的笔记本电脑静态IP
我的猜测是,这些输入将我的桌面请求重定向到docker,完全破坏了直接访问。
这并不理想,因为我必须构建一个容器来编写一个简单的react应用程序,这会导致很多无用的复杂性
ps:我在主机文件中尝试了以下条目,未成功:
192.168.1.77 localhost
此外:
唯一的解决办法是禁用docker和clean hosts文件,这并不是它真正的用途。将此添加到~/.wslconfig(win)或/etc/wsl.conf(wsl)
不幸的是,这不起作用:/i我只能在WSLOops上侦听docker容器中的连接,您可能还需要在.wslconfig中编写此文件
localhostForwarding=True
此外,仍然没有运气。。。请注意,如果我卸载Docker desktop,一切都会再次正常工作。我不认为这是一个端口转发问题。嗯,在没有WSL2集成的情况下安装带有WSL2的docker怎么样?
172.22.3.92 ubuntu.wsl # managed by wsl2-host (service that creates a hostname for WSL2 ip)
192.168.1.77 ubuntu.wsl
[network]
generateHosts = false