Запуск контейнеров Windows и Linux в Docker и WSLLinux

Anonymous
Запуск контейнеров Windows и Linux в Docker и WSL

Сообщение Anonymous »

К проекту, над которым мы работаем, у нас есть очень специфическое требование: нам необходимо запускать как контейнеры Windows, так и контейнеры Linux через Docker. На компьютере Windows под управлением Windows 11 и последней версии WSL (2.2.4.0) мы следовали этому руководству, чтобы настроить Docker в Windows для контейнеров Windows, и установили docker-ce на WSL для запуска контейнеров Linux.
Мы также настроили сетевой режим WSL как зеркальный и включили экспериментальную функцию hostAddressLoopback в соответствии с инструкциями Microsoft здесь.
Использование Недавно созданный контекст Docker, мы можем запускать контейнеры Linux на WSL и получать к ним доступ из операционной системы хоста. Аналогичным образом мы можем запускать контейнеры Windows и взаимодействовать с ними в операционной системе хоста.
У нас есть особое требование, согласно которому контейнеры в WSL должны взаимодействовать с контейнерами в операционной системе хоста, и это Здесь мы сталкиваемся с проблемой.
Мы не можем подключиться к контейнеру Windows изнутри WSL, независимо от того, какой адрес мы используем. Мы попробовали localhost, IP-адрес контейнера Windows, все адреса, возвращаемые командой ip a, и многое другое, но все попытки приводили к тайм-аутам. Однако если мы запустим эхо-сервер Python в Windows (неконтейнеризованный) и привяжем порт (например, порт 8080), мы сможем использовать telnet из WSL для подключения к нему без каких-либо проблем.
Учитывая, что к службам, работающим непосредственно в Windows (неконтейнерным), можно получить доступ из WSL, нам интересно, есть ли какая-то недостающая нам переадресация портов, которая позволила бы контейнерам Windows и контейнерам Linux взаимодействовать. Или, альтернативно, нам может потребоваться создать конкретную сеть с предопределенной подсетью для размещения обоих контейнеров.
Мы попробовали все вышеперечисленные эксперименты с включенным и отключенным брандмауэром Windows, но проблема сохраняется.
Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/790 ... er-and-wsl

Вернуться в «Linux»