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。
所以我正在做的是我在 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。