Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
安装Docker时出现WSL2 lan重定向问题_Docker_Redirect_Windows Subsystem For Linux_Lan - Fatal编程技术网

安装Docker时出现WSL2 lan重定向问题

安装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

我当前的设置是我的笔记本电脑和台式机,它们连接在同一个网络中。我做webdev,所以我在笔记本电脑中编写代码,并在桌面浏览器中查看结果。安装docker后,我无法再访问直接在WSL2中运行的笔记本电脑web服务器,只有当它们在docker容器中运行时

WSL1中不存在此问题,即:

如果在windows计算机上安装docker desktop并启用新的WSL2集成,则会弄乱windows“主机”文件(位于
%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