Назад | Перейти на главную страницу

Сделайте докер-клиент в виртуальной машине для подключения к докеру-демону на хосте

Как я могу заставить Docker Client на виртуальной машине Windows Server 2019 подключиться к Docker Engine на хост-машине, которая использует контейнеры Linux на виртуальной машине Moby?

Моя установка выглядит так:

(A) Windows 10
(B)     Docker
(C)     Hyper-V
(D)        MobyLinuxVM
(E)        WinServer2019VM
(F)            Docker

Я пытаюсь избежать вложенной виртуализации, чтобы использовать Docker на WinServer2019VM (E). Мне не удалось заставить контейнеры Linux в Windows (LCOW) работать внутри виртуальной машины (E), но поскольку LCOW все еще является экспериментальным, я пока передаю его.

Сейчас docker команда на хосте (B) использует контейнеры Linux с помощью MobyLinuxVM (D). Теперь я пытаюсь сделать docker на виртуальной машине (E), чтобы сделать то же самое и действовать точно так же, как (B), подключившись к движку докера на хосте (B) и используя контейнеры Linux, включенные с MobyLinuxVM (D).

Я попытался включить параметр «Expose daemon on tcp: // localhost: 2375 без TLS» в Docker (B) на хост-машине и установить DOCKER_HOST="tcp://HOST_NAME:2376" на виртуальной машине (E), но это не сработало. Как я могу это сделать? Спасибо!

Я предполагаю, что ваш MobyLinuxVM (D) - это виртуальная машина Docker Desktop, верно?
Параметр «Expose daemon on tcp: // localhost: 2375 без TLS» разрешает подключения только с хост-машины (A).

Если вы хотите подключиться с другой машины (в вашем случае с виртуальной машины (E)), это не сработает.

Попробуйте открыть Docker Remote API с помощью вспомогательного контейнера на MobyLinuxVM (D)

Видеть https://gist.github.com/kekru/4e6d49b4290a4eebc7b597c07eaf61f2#enable-docker-remote-api