Проблема перенаправления локальной сети WSL2 при установке Docker - PullRequest
0 голосов
/ 30 апреля 2020

Мои текущие настройки - это мой ноутбук и рабочий стол, они подключены к одной сети. Я делаю webdev, поэтому я пишу код на своем ноутбуке и вижу результаты в браузере моего рабочего стола. После установки docker я больше не могу получить доступ к веб-серверам моего ноутбука, которые работают внутри WSL2 напрямую, ТОЛЬКО если они работают внутри контейнера Docker.

Эта проблема не присутствовала в WSL1, а именно:

Если вы установите docker рабочий стол на свой windows компьютер и включите новую интеграцию WSL2, он испортит ваш windows файл 'hosts' (находится на %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 - это мой ноутбук stati c IP, который я установил в своем маршрутизаторе

Я предполагаю, что эти входы перенаправляют запросы моего рабочего стола на docker, полностью нарушая прямой доступ. Это не идеально, потому что мне нужно создать контейнер для кодирования простого приложения реакции, которое приводит к множеству бесполезных сложностей

пс: я пробовал следующие записи в файле 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 и очистить файл hosts, что на самом деле не является тем, чем предполагалось.

1 Ответ

0 голосов
/ 03 мая 2020

Добавьте это к ~ / .wslconfig (победа) или /etc/wsl.conf (wsl)

[network]
generateHosts = false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...