从 VMWare Workstation VM

问题描述

我有以下设置:

  • Windows 10 主机(启用 Hyper-V)
  • 安装在主机上的 Docker 桌面
  • VMWare 工作站专业版 (16)
  • Windows 10 虚拟机 - 安装在虚拟机上的 Docker CLI

Windows 10 VM 用作开发环境,其中包含特定于项目的内容

我还将主机用作其他项目的开发机器 - 所以希望能够在两者上使用 docker。

我想做的是从我的虚拟机访问主机上运行的 docker 引擎 通过访问 docker,我的意思是使用 docker cli 来运行容器、构建图像等...设置 DOCKER_HOST 或类似的东西?

这可能吗?或者其他方式?

到目前为止,我已经将我的 VM 设置为使用 NAT 网络并尝试过:

docker -H tcp://192.168.126.2:2375 images

哪个返回

连接时出错:Get http://192.168.126.2:2375/v1.40/images/json: dial tcp 192.168.126.2:2375: connectex: 由于目标机器主动拒绝,无法建立连接。

192.168.126.2认网关的 IP,来自 VM(所以 - 我的主机?)

在主机上,如果我执行 docker -H tcp://0.0.0.0:2375 images,我会得到预期的结果。

在主机上,我也设置了:

"hosts": ["tcp://0.0.0.0:2375"],

在 docker 引擎配置中:

enter image description here

解决方法

所以我会做的,通常是在网络编辑器中的 VMware Workstation 中,我将虚拟机连接到网桥,然后选择提供连接的主线,无论是以太网端口还是 Wifi,并将其关联到 VMnet0。然后在 VM 设置中,我将该 VM 的 NIC 分配给 VMnet0,这就是我的 VM 和主机在同一个 LAN 上的方式。 我不会使用 NAT。