Как я могу заставить 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