linux - 是否可以在 Windows AWS 实例上运行 Linux 容器?
问题描述
我正在尝试在 Windows Server 2019 操作系统中运行 Linux (ubuntu LTS) 容器。问题是 Windows 操作系统作为 AWS 实例运行。
尝试实现这一目标对我来说一直存在问题,并且我一直在互联网上阅读关于这是否可能的不同意见。有人说它可以在裸机的 .metal 实例上实现。目前我一直在尝试在具有虚拟化类型 HVM 的常规 t3 实例上运行它。
总结一下我的问题是:
- 是否可以在 Windows aws 实例上运行 linux 容器?
- 如果是,如何?
- 如果没有,是否可以在裸机实例上使用?
请记住,由于操作系统需要完成多个任务(并且我不想要多个实例),因此我需要容器在 Windows 环境中运行
解决方案
为了在 Windows 上使用 Docker Desktop,您需要启用 Hyper-V 或 Windows 的 Linux 系统(这又需要 Hyper-V)。两种解决方案都需要 VT-x 功能,但您在 VM 中运行,这意味着实现起来并不容易。
它被称为“嵌套虚拟化”,在常见的 EC2 虚拟机中不支持。(来源)
您当然可以在裸机 Windows 实例上运行 Linux 容器(但为什么要这样做呢?在 EC2 上创建 Linux 虚拟机并与您的 Windows 主机通信更便宜、更简单)。如果这仍然是您的目的,您可以使用 Hyper-V 安装 Windows Server 2019。(教程)
可以在没有嵌套虚拟化(我没有尝试过)的情况下工作的 SMALL、SMALL 事物的另一种替代方法是使用 WSL1。(更多信息)
WSL1 在 Windows 和 Linux 系统调用之间使用了一个兼容层,而没有实际虚拟化操作系统。有些人已经能够在 WSL1 上安装 Docker 17.09,但这是一条非常冒险的道路,我不建议您采用。
推荐阅读
- python - 使用 python 脚本中的 taskkill 拒绝访问
- c# - 如何删除 ASP.NET Core 2.0 中错误消息的 ModelState 前缀?
- c# - MVC 5下拉列表值未传递到控制器
- c++11 - 附加功能不起作用归档c ++
- angular - ChartJS 在开发时使用 Angular 5,但 ng build 失败
- python - 通过任务计划程序的两个 Python 脚本
- ios - 着色/绘图代码。如何在不透明度较低的情况下使其更平滑?删除刷点?
- spring - 我可以将两个 Spring 批处理作业链接在一起吗?
- django - django-channels 更新慢 - redis
- symfony - 将捆绑配置注入没有全局变量的树枝