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

Как я могу заставить 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), но это не сработало. Как я могу это сделать? Спасибо!

1
задан 21 July 2019 в 22:11
1 ответ

Я полагаю, ваш 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

2
ответ дан 3 December 2019 в 20:06

Теги

Похожие вопросы