带有docker的Linux机器部署windows容器

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (512)

我有一台带有16GB RAM的Linux服务器,并安装了docker主机。我想在其上部署一个Windows Server容器。可能吗?有人刚试过这个解决方案吗?

提问于
用户回答回答于

理论上:

Linux主机上没有运行“Windows容器”。 Linux容器不能直接在Windows服务器上运行,因为它依赖于对Linux内核的系统调用

您当然可以通过VM在任何Windows计算机上运行这些Linux容器。 这就是docker工具箱将安装的内容

将有适用于Windows泊坞窗的支持很快,但这是针对Windows的容器,而不是Linux容器。

更新2017:是的,LinuxKit允许通过Windows平台上的Hyper-V隔离包装器运行Linux容器,通过从linuxkit构建的最小Linux操作系统。 这仍然是同一个想法:Linux在Windows上的VM内部运行。 这不是部署在Windows服务器上的Linux服务器:仅部署在Windows上的VM中运行的Linux服务器中。

实际上......

请参阅“ Linux和Windows,共同生活,完全混乱!(好的,Kubernetes 1.5)

Kubernetes 1.5包括对Windows Server Containers(类似于Docker的共享内核模型)和Hyper-V Containers的alpha支持,Hyper-V Containers是一种单内核模型,可为多租户环境提供更好的隔离(以更大的延迟为代价)。 最终结果是能够创建单个Kubernetes集群,其中不仅包括运行Linux容器的Linux节点或运行Windows容器的Windows节点,而且还包括并排,以实现真正的混合体验。 例如,单个服务可以使用Windows Server Containers和使用Linux容器的其他POD进行POD

但:

虽然它看起来功能齐全,但在这个早期版本中似乎存在一些限制,包括:

  • Kubernetes master仍然必须在Linux上运行,因为它依赖于它的编写方式。可以移植到Windows,但目前团队认为最好将精力集中在客户端组件上。
  • Windows中的容器的网络覆盖没有本机支持,因此网络仅限于L3。(还有其他解决方案,但它们本身不可用。) Kubernetes Windows SIG正在与微软合作解决这些问题,但他们希望通过明年初发布的Kubernetes 1.6取得进展。
  • Windows容器之间的联网更复杂,因为每个容器都有自己的网络命名空间,因此建议您现在使用单容器容器
  • 在Windows Server Containers中运行的应用程序可以使用Windows支持的任何语言运行。您可以在Linux容器中运行.NET应用程序,但前提是它们是用.NET Core编写的。Nano Server操作系统也支持.NET核心,可以部署在Windows Server Containers上。

扫码关注云+社区

领取腾讯云代金券