我有一台安装了docker host的Linux服务器,内存为16GB。我想在其上部署Windows Server容器。可能吗?有人尝试过此解决方案吗?
如pipe_tape_coder在评论中指出的:
Microsoft 改进了容器的网络选项,现在 允许每个容器中具有改进名称空间的多个容器 。
Linux主机上没有运行“ Windows容器”。 而且,Linux容器不能 _直接_在Windows服务器上运行,因为它依赖对Linux内核的系统调用。
您当然可以通过VM在任何Windows机器上运行这些Linux容器。 那就是docker toolbox将要安装的东西。
将有适用于Windows泊坞窗的支持很快,但这是针对Windows的容器,而不是Linux容器。
2017年更新:是的,LinuxKit允许通过基于 linuxkit 的最小Linux操作系统,通过Windows平台上的Hyper-V隔离包装程序运行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容器的POD和使用Linux容器的其他POD 。
Kubernetes 1.5包括对Windows Server Containers和类似于Docker的共享内核模型以及Hyper-V Containers的alpha支持,Hyper-V Containers是为多租户环境提供更好隔离的单内核模型 (以更大的延迟为代价)。
最终结果是可以创建单个Kubernetes集群的能力,该集群不仅包括运行Linux容器的Linux节点或运行Windows容器的Windows节点,而且还可以同时包括两者,以获得真正的混合体验。 例如,单个服务可以具有使用Windows Server容器的POD和使用Linux容器的其他POD 。
但:
尽管它似乎功能齐全,但在此早期版本中确实存在一些限制,包括: 由于Kubernetes主机的编写方式存在依赖性,因此仍必须在Linux上运行 。可以移植到Windows,但目前团队认为最好将精力集中在客户端组件上。 没有原生支持Windows中容器的网络覆盖,因此网络仅限于L3 。(还有其他解决方案,但尚无本地解决方案。) 但是,Kubernetes Windows SIG正在与Microsoft合作解决这些问题,他们希望在明年初的Kubernetes 1.6发行版方面取得进展。 Windows容器之间的联网更为复杂,因为每个容器都有自己的网络名称空间,因此 建议您现在使用单容器容器 。 Windows Server容器中运行的应用程序可以Windows支持的任何语言运行。您可以在Linux容器中运行.NET应用程序,但前提是它们是用.NET Core编写的。Nano Server操作系统还支持.NET core,可以将其部署在Windows Server Containers上。
尽管它似乎功能齐全,但在此早期版本中确实存在一些限制,包括: