Azure Docker Containers to an Azure VM across vlans?



所以我正在做的是我在Azure中运行了一个VM。 很简单,但它正在做的事情我们希望从外部世界获得。 我已经打开了特定的端口 8000,到 10 VLAN 上的所有端口,以及我正在使用的特定公共 IP。 以这种方式访问数据工作正常。 没有问题等。

因此,我出去在Mac上创建了一个VStudio Container API,使用:

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

如果我这样做,我可以访问虚拟方法调用,它按预期返回数据。

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

但我无法在容器中获取 WebAPI 来访问 VM。 我还尝试--vnet=<><>是我的 VM 所在的 vnet 的名称,但仍然没有。

这几乎就像我需要告诉盒子它有 2 个 NIC,它可以通过 1 与 10 个网络通信,而另一个与公共网络通信。

那么有什么想法我错过了什么吗?

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

与虚拟网络中的虚拟机的容器通信

但这里有一个限制:

若要将容器组部署到子网,该子网不能包含任何 其他资源类型。

这意味着需要在 VNet 的另一个子网中创建 VM。

在 Vnet 中创建容器实例将丢失从 Internet 访问它的功能。因此,如果还需要从 Internet 访问容器实例,我建议使用 Azure 应用程序网关,然后将容器实例放在具有实例专用 IP 的应用程序网关后端。

最新更新