[关闭]
@babydragon 2015-09-14T21:17:50.000000Z 字数 1476 阅读 1914

微软和Docker发布Windows Server容器预览版

现在可以在容器内运行针对Windows的软件了。Windows Server 2016技术预览版3是第一个支持该项技术的Windows版本。Windows Server容器提供了和Linux容器非常类似的功能,但它需要在Windows生态系统的上下文中。Docker也发布了它的技术预览版,展示它是如何管理Windows容器的。


现在可以在容器内运行专门针对Windows操作系统的软件了。Windows Server 2016技术预览版3是第一个支持该项技术的Windows版本。Windows Server容器提供了和Linux容器非常类似的功能,但是它需要在Windows生态系统的上下文中。Docker也发布了它的技术预览版,展示了它是如何管理Windows容器的。

正如Docker工程经理Arnaud Porterie所述,由于操作系统的根本差异,Docker的Linux和Windows功能集将不可能完全相同。尽管如此,大部分Docker命令可以在这两种容器技术上都能够正常工作。Dockerfile和docker build命令都已经支持。不过,docker push命令在这次发布的版本中还不支持。

微软构建了hcsshim,它为Docker执行Windows Server上的容器提供了执行驱动。所谓的执行驱动是Docker中的一个模块,用于调用内核代码来执行容器。它的每种实现都针对一个特定的操作系统,因此为Windows Server容器提供的Docker守护进程无法运行Linux镜像。

PowerShell也能够管理Windows Server容器。目前一个工具(如PowerShell)创建的容器,对于另一个工具(即Docker)是不可见的。二者之间的差异解释了这样的行为。差异的范围,从大小写这种简单的问题,到条件竞争这种复杂的场景。这对于长期来说不是一个期望的行为,因此在后续发展道路上,这些事情可能会有所改变。

微软还推出了Hyper-V容器,它像是在Hyper-V分区中的Windows Server容器。Hyper-V容器用Windows Server容器的速度和效率,交换了更好的隔离性和安全性。在多租户系统场景中,Hyper-V容器就是一种优选的解决方案。

微软,和Docker、Google等行业巨头,都是开放容器倡议(Open Container Initiative,OCI)的创始成员。开放容器倡议旨在创建“围绕着容器格式和运行时的开放行业标准”。Docker捐赠了runC,将其容器格式和运行时提供给开放容器倡议。开放容器规范可以在GitHub上进行阅读。

尝试这种技术最简单的方法是遵循快速入门指南在Azure上运行Windows Server容器。Azure已经提供了Windows Server 2016技术预览版3的镜像。也可以在Hyper-V虚拟机或者Windows Server 2016技术预览版核心安装中尝试Windows Server容器。

Windows Server容器仍然在开发中,因此值得去看一看已知问题,例如因为反恶意软件解决方案导致的容器启动速度慢等。Windows Server容器论坛是提问的好地方,有微软工程师会回答一些问题。Lumagate公司的首席技术官Kristian Nese正在撰写以Windows世界中的容器为话题的系列文章

查看英文原文:http://www.infoq.com/news/2015/09/windows-server-containers

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注