运行 Linux AWS 实例上的 Linux 容器是否可行?

Is running a Linux container on windows AWS instance possible?

我正在尝试 运行 Linux (ubuntu LTS) 容器 windows 服务器 2019 OS。问题是 windows OS 运行 作为 AWS 实例。

我在尝试实现此目标时遇到了问题,并且我一直在互联网上阅读关于是否可行的不同意见。有人说在裸机的 .metal 实例上是可能的。目前我一直在尝试 运行在具有虚拟化类型 HVM 的常规 t3 实例上使用它。

总结一下我的问题是:

  1. 运行是否可以在 windows aws 实例上安装一个 linux 容器?
  2. 如果是,如何?
  3. 如果不能,是否可以在裸机实例上实现?

请记住,由于 OS 需要完成多个任务(而且我不想要多个实例)

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

称为“嵌套虚拟化”,普通EC2虚拟机不支持。 (source)

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

另一种替代小东西的方法是使用 WSL1,可以 在没有嵌套虚拟化的情况下工作(我没试过)。 (more info)

WSL1 在 Windows 和 Linux 系统调用之间使用了一个兼容层,但并未实际虚拟化操作系统。 Some folks 已经能够在 WSL1 上安装 Docker 17.09,但我不建议采用这种非常冒险的方式。