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

jopen 8年前

 

现在可以在容器内运行专门针对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