Получить адрес узла Docker БЕЗ «Docker Desktop для Windows»

#windows #docker #networking

Вопрос:

У меня установлен docker на Windows Server, и мне нужно получить доступ к чему-то, работающему на хост-компьютере. Контейнеры являются контейнерами Windows.

Все остальные ответы, которые я могу найти в каком состоянии host.docker.internal , docker.for.win.localhost или docker.for.win.host.internal не работают, поскольку вы не можете установить «Docker Desktop» на компьютере с Windows Server (эти имена не разрешаются).

Это подтверждается официальными документами Docker:

У хоста есть изменяющийся IP-адрес (или его нет, если у вас нет доступа к сети). Мы рекомендуем вам подключиться к специальному DNS-имени host.docker.internal, которое преобразуется во внутренний IP-адрес, используемый хостом. Это предназначено для разработки и не будет работать в производственной среде за пределами Docker Desktop для Windows.

Так какова же альтернатива?

Комментарии:

1. «нужно получить доступ к чему-то» — что? Вы можете сделать docker-compose run /foo/bar docker-container-name .

2. @CodeCaster MariaDB, который по соображениям бизнеса должен выполняться на хосте, а не в другом контейнере.

3. То есть … неудачно. Но затем подключиться к хосту по его DNS-имени и предоставить DNS-сервер (или значение)?