
Как подключить 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 Containers on Windows (LCOW) работать внутри VM (E), но поскольку LCOW все еще является экспериментальным, я пока от него воздержусь.
Сейчас docker
команда на хосте (B) использует контейнеры Linux с помощью MobyLinuxVM (D). Теперь я пытаюсь заставить docker
команду на виртуальной машине (E) делать то же самое и действовать точно так же, как (B), прикрепляясь к движку Docker на хосте (B) и используя контейнеры Linux, включенные с помощью MobyLinuxVM (D).
Я попробовал включить настройку "Expose daemon on tcp://localhost:2375 without TLS" на Docker (B) на хост-машине и установить DOCKER_HOST="tcp://HOST_NAME:2376"
на виртуальной машине (E), но это не сработало. Как мне это сделать? Спасибо!
решение1
Я предполагаю, что ваш MobyLinuxVM (D) — это виртуальная машина Docker Desktop, верно?
Настройка «Expose daemon on tcp://localhost:2375 without TLS» разрешает только соединения, исходящие от хост-машины (A).
Если вы хотите подключиться с другой машины (в вашем случае с виртуальной машины (E)), это не сработает.
Попробуйте открыть Docker Remote API с помощью вспомогательного контейнера на MobyLinuxVM (D)
Видетьhttps://gist.github.com/kekru/4e6d49b4290a4eebc7b597c07eaf61f2#enable-docker-remote-api