我有一个Linux服务器,16 GB内存,安装了Docker主机。我想在上面部署一个Windows Server容器。这是可能的吗?有人刚刚尝试过这个解决方案吗?
tktrz96b1#
正如duct_tape_coder在评论中指出的那样:Microsoft has improved the network options for containers和现在允许每个pod多个容器,并改进了命名空间。
在Linux主机上没有运行“Windows容器”。而且Linux容器不会 * 直接 * 在Windows服务器上运行,因为it relies on system calls to a Linux kernel。您当然可以通过VM在任何Windows机器上运行这些Linux容器。这就是docker toolbox will install。将有support for docker on Windows soon,但这将是Windows容器,而不是Linux容器。Update 2017:是的,LinuxKit允许在Windows平台上通过Hyper-V隔离 Package 器运行Linux容器,通过从linuxkit构建的最小Linux操作系统。这仍然是同样的想法:Linux在Windows上的VM中运行。这不是部署在Windows服务器上的Linux服务器:仅部署在Windows上的VM中运行的Linux服务器内。
参见“Linux and Windows, living together, total chaos! (OK, Kubernetes 1.5)“
Kubernetes 1.5包括对Windows Server Containers(类似于Docker的共享内核模型)和Hyper-V Containers(为多租户环境提供更好隔离的单内核模型)的alpha支持(以更大的延迟为代价)。
最终的结果是能够创建一个单一的Kubernetes集群,其中不仅包括运行Linux容器的Linux节点或运行Windows容器的Windows节点,而且两者都并排,以获得真正的混合体验。
例如,单个服务可以具有使用Windows Server Containers的POD和使用Linux containers的其他POD。
但是:虽然它看起来功能齐全,但在这个早期版本中似乎确实存在一些限制,包括:
*Kubernetes master仍然必须在Linux上运行,因为它的编写方式存在依赖性。可以移植到Windows,但目前团队认为最好将精力集中在客户端组件上。*Windows中没有原生的容器网络覆盖支持,因此网络仅限于L3。(还有其他解决方案,但它们不是原生可用的。)
然而,Kubernetes Windows SIG正在与微软合作解决这些问题,他们希望在明年初Kubernetes 1.6发布之前取得进展。
1条答案
按热度按时间tktrz96b1#
更新2019
正如duct_tape_coder在评论中指出的那样:
Microsoft has improved the network options for containers和现在允许每个pod多个容器,并改进了命名空间。
理论上(原始答案2015年10月):
在Linux主机上没有运行“Windows容器”。
而且Linux容器不会 * 直接 * 在Windows服务器上运行,因为it relies on system calls to a Linux kernel。
您当然可以通过VM在任何Windows机器上运行这些Linux容器。
这就是docker toolbox will install。
将有support for docker on Windows soon,但这将是Windows容器,而不是Linux容器。
Update 2017:是的,LinuxKit允许在Windows平台上通过Hyper-V隔离 Package 器运行Linux容器,通过从linuxkit构建的最小Linux操作系统。
这仍然是同样的想法:Linux在Windows上的VM中运行。
这不是部署在Windows服务器上的Linux服务器:仅部署在Windows上的VM中运行的Linux服务器内。
其实...(2016年12月更新)
参见“Linux and Windows, living together, total chaos! (OK, Kubernetes 1.5)“
Kubernetes 1.5包括对Windows Server Containers(类似于Docker的共享内核模型)和Hyper-V Containers(为多租户环境提供更好隔离的单内核模型)的alpha支持(以更大的延迟为代价)。
最终的结果是能够创建一个单一的Kubernetes集群,其中不仅包括运行Linux容器的Linux节点或运行Windows容器的Windows节点,而且两者都并排,以获得真正的混合体验。
例如,单个服务可以具有使用Windows Server Containers的POD和使用Linux containers的其他POD。
但是:
虽然它看起来功能齐全,但在这个早期版本中似乎确实存在一些限制,包括:
*Kubernetes master仍然必须在Linux上运行,因为它的编写方式存在依赖性。可以移植到Windows,但目前团队认为最好将精力集中在客户端组件上。
*Windows中没有原生的容器网络覆盖支持,因此网络仅限于L3。(还有其他解决方案,但它们不是原生可用的。)
然而,Kubernetes Windows SIG正在与微软合作解决这些问题,他们希望在明年初Kubernetes 1.6发布之前取得进展。