IT与通讯

微软WindowsServer容器值得看的那些已知问题

互联网 2015/9/17 责任编辑:lvzhaoyan

 

  WindowsServer容器提供了和Linux容器非常类似的功能,但是它需要在Windows生态系统的上下文中。Docker也发布了它的技术预览版,展示了它是如何管理Windows容器的。正如Docker工程经理ArnaudPorterie所述,由于操作系统的根本差异,Docker的Linux和Windows功能集将不可能完全相同。尽管如此,大部分Docker命令可以在这两种容器技术上都能够正常工作。Dockerfile和dockerbuild命令都已经支持。不过,dockerpush命令在这次发布的版本中还不支持。
  
  微软构建了hcsshim,它为Docker执行WindowsServer上的容器提供了执行驱动。所谓的执行驱动是Docker中的一个模块,用于调用内核代码来执行容器。它的每种实现都针对一个特定的操作系统,因此为WindowsServer容器提供的Docker守护进程无法运行Linux镜像。
  
  PowerShell也能够管理WindowsServer容器。目前一个工具(如PowerShell)创建的容器,对于另一个工具(即Docker)是不可见的。二者之间的差异解释了这样的行为。差异的范围,从大小写这种简单的问题,到条件竞争这种复杂的场景。这对于长期来说不是一个期望的行为,因此在后续发展道路上,这些事情可能会有所改变。
  
  微软还推出了Hyper-V容器,它像是在Hyper-V分区中的WindowsServer容器。Hyper-V容器用WindowsServer容器的速度和效率,交换了更好的隔离性和安全性。在多租户系统场景中,Hyper-V容器就是一种优选的解决方案。微软和Docker、Google等行业巨头,都是开放容器倡议(OpenContainerInitiative,OCI)的创始成员。开放容器倡议旨在创建“围绕着容器格式和运行时的开放行业标准”。Docker捐赠了runC,将其容器格式和运行时提供给开放容器倡议。开放容器规范可以在GitHub上进行阅读。
  
  尝试这种技术最简单的方法是遵循快速入门指南在Azure上运行WindowsServer容器。Azure已经提供了WindowsServer2016技术预览版3的镜像。也可以在Hyper-V虚拟机或者WindowsServer2016技术预览版核心安装中尝试WindowsServer容器。
  
  WindowsServer容器仍然在开发中,因此值得去看一看已知问题,例如因为反恶意软件解决方案导致的容器启动速度慢等。WindowsServer容器论坛是提问的好地方,有微软工程师会回答一些问题。Lumagate公司的首席技术官KristianNese正在撰写以Windows世界中的容器为话题的系列文章。

回顶部↑