Azure Docker 跨 vlan 到 Azure VM 的容器?

Azure Docker Containers to an Azure VM across vlans?

所以我正在做的是我在 Azure 中有一个 VM 运行。很简单,但是我们想要保护它不受外界影响。我已经打开了特定的端口,8000,到 10 vlan 上的所有内容,以及我正在使用的特定 public IP。以这种方式访问​​数据工作正常。没有问题,等等

所以,我已经出去并在我的 Mac 上创建了一个 VStudio 容器 API 使用:

az container create --resource-group=<> -name <> --ip-address Public --ports 80

如果我这样做,我可以访问一个虚拟方法调用,并且它 returns 数据符合预期。

不过,我需要的是让方法本身接触到 VM 并与之交互。它只是在做 Json 的 HTTP 帖子,所以两者之间的火箭科学并不多。

但是我无法在容器中获取 WebAPI 来访问虚拟机。 我也试过 --vnet=<> 其中 <> 是我的虚拟机所在的 vnet 的名称,但仍然没有。

就好像我需要告诉盒子它有 2 个 NIC,它可以通过 1 与 10 网络通信,并通过另一个网络与 public 网络通信。

所以我想念什么?

据我了解,您希望从容器实例安全地访问 VM。如果是这样,则需要在 Vnet 中创建容器实例。这将启用该功能:

Container communication with virtual machines in the virtual network

但这里有一个限制:

To deploy container groups to a subnet, the subnet cannot contain any other resource types.

表示您需要在Vnet的另一个子网中创建VM。

在 Vnet 中创建容器实例将失去从 Internet 访问它的功能。所以如果你还需要从互联网访问容器实例,我会建议你使用Azure Application Gateway,然后将容器实例放在应用程序网关的后端,实例私有IP。