在虚拟机中创建 Docker 客户端,以连接到主机上的 Docker 守护进程

在虚拟机中创建 Docker 客户端,以连接到主机上的 Docker 守护进程

如何让 Windows Server 2019 VM 上的 Docker 客户端连接到使用 Moby VM 中的 Linux 容器的主机上的 Docker 引擎?

我的设置如下:

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

我试图避免嵌套虚拟化,以便在 WinServer2019VM (E) 上使用 Docker。我无法让 Windows 上的 Linux 容器 (LCOW) 在 VM (E) 内运行,但由于 LCOW 仍处于试验阶段,所以我暂时放弃了它。

目前,docker主机 (B) 上的命令使用 MobyLinuxVM (D) 的 Linux 容器。现在,我正尝试docker通过连接到主机 (B) 上的 docker 引擎并使用启用了 MobyLinuxVM (D) 的 Linux 容器,使 VM (E) 上的命令执行完全相同的操作并像 (B) 一样运行。

我尝试在主机上的 Docker (B) 上启用“在 tcp://localhost:2375 上公开守护进程,无需 TLS”设置,并DOCKER_HOST="tcp://HOST_NAME:2376"在虚拟机 (E) 上进行设置,但没有效果。我该怎么做?谢谢!

答案1

我假设您的 MobyLinuxVM (D) 是 Docker Desktop 的 VM,对吗?
设置“在 tcp://localhost:2375 上公开守护程序,无需 TLS”仅允许来自主机 (A) 的连接。

如果您想从另一台机器连接(在您的情况下是从 VM(E)连接),这将不起作用。

尝试使用 MobyLinuxVM 上的辅助容器打开 Docker Remote API(D)

https://gist.github.com/kekru/4e6d49b4290a4eebc7b597c07eaf61f2#enable-docker-remote-api

相关内容