是否可以在Windows AWS实例上运行Linux容器?

问题描述

我正在尝试在Windows Server 2019 OS中运行Linux(ubuntu LTS)容器。问题是Windows操作系统作为AWS实例运行。

试图实现这一目标对我来说是一个问题,我一直在互联网上阅读有关是否可行的不同观点。有人说在裸金属的.Metal实例上是可能的。目前,我一直在尝试在虚拟化类型为HVM的常规t3实例上运行它。

总结一下我的问题是:

  1. 是否可以在Windows aws实例上运行linux容器?
  2. 如果是,怎么办?
  3. 否则,是否可以在裸机实例上进行?

请记住,由于操作系统需要完成多项任务(并且我不希望有多个实例),因此我需要容器在Windows环境中运行

解决方法

要在Windows上使用Docker桌面,您需要Hyper-V或Windows Susbsystem(已启用Linux)(而这又需要Hyper-V)。两种解决方案都需要VT-x功能,但是您要在VM内运行,这意味着实现起来并不容易。

它称为“嵌套虚拟化”,在常见的EC2虚拟机中不支持。 (source

您当然可以在裸机Windows实例上运行Linux容器(但是为什么要这样做呢?在EC2上创建Linux虚拟机并与Windows主机进行通信更便宜,更简单)。如果仍然是您的目的,则可以安装Windows Server 2019 with Hyper-V。 (tutorial

SMALL的另一种替代方法是,如果没有嵌套虚拟化(我没有尝试过),可以运行,那么它们将使用WSL1。 (more info

WSL1使用Windows和Linux系统调用之间的兼容性层,而无需实际虚拟化操作系统。 Some folks能够在WSL1上安装Docker 17.09,但这是一条非常冒险的路径,我不建议您采用。