Windows Server2016上Docker Engine技术预览版介绍

Mrexamo · · 3158 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

作为Docker Engine团队的核心工程师,我在Linux上自然花了大部分时间。这种情况最近已经改变:今年4月,我们发布了一个Docker客户端的Windows版本。通过这个过程,我们已经与微软开发人员密切合作。 我被问到的最多的一个问题就是:“Docker什么时候将在Windows上运行?”,对于这个问题现在有了令人兴奋的回答。 因为本周有了标志性的巨大飞跃,我们为Windows Server发布了Docker Engine技术预览版, Windows daemon现在已经可以下载和测试了。Windows Server 2016 Technical Preview 3 (TP3) 和Windows Server上的 Docker Engine一起为更多的开发者带来Docker体验——构建新的软件和为项目做贡献。 ## Docker daemon简介 这其中也有许多令人困惑的地方,比如在Windows Server上运行Docker意味着什么。这里有一些要点需要澄清: Windows Server端口之上的DockerEngine并不是一个头文件,也不是一个不同的项目,它同样为Linux和Windows构建的开源代码库。 Windows Server 之上的Docker技术预览版功能尚未完善,大部分的Docker命令你已经知道将在Windows Server正常工作。例如,你可以像在Linux上一样编写一个Dockerfile 和docker build。 Windows Server 之上的Docker daemon没有运行Linux image。不涉及虚拟化。Windows Server Containers重用(reuse)主机内核并为进程创建一个沙箱环境,就像在Linux之上一样。 这意味着Docker正在成为运行进程时一个平台不可知论的接口。例如,有一个一致的API允许跨Linux和Windows Server混合集群主机分发工作负载,这个混合集群是通过Docker Swarm使用单一的DockerCLI和相同的Docker指令编排的。没有任何新命令学习,相同的开发人员构建软件时现在有了更多的选择。 ## 两个世界的碰撞 这项工作始于2014年11月,对于一个开源项目,它让我们保持与微软不可思议的互动。即使我们承认在早期有点怀疑,现在我们不得不承认我们已经被微软的贡献者的进度大为吃惊(真的,有点不知所措),从Ahmet Alp Balkan 和他在客户端的工作,紧随其后的是John Howard, John Starks, and Stefan Wernli 守护进程方面。说真的,谢谢加入Docker的贡献者社区。 ![alt 文本](http://blog.tenxcloud.com/wp-content/uploads/2015/08/server22.png) 总的来说,微软团队通过大约180000行代码修改实现了这一点,所有这些全部公开并且正在经过严格的Docker项目评估过程。 ![alt 文本](http://blog.tenxcloud.com/wp-content/uploads/2015/08/server3.png) Introducing Nyancat, our best ANSi Emulator stress test. ## Docker移植到Windows **容器运行和内核依赖** 人们普遍认为Docker广泛使用Linux内核。同样,微软已经将集装箱化基本体添加到Windows内核,允许任何用户代码执行过程在沙箱环境中。这些功能只有在刚刚发布的Windows Server 2016 Tech Preview 3 (TP3)上获得,这使得它成为目前唯一的Windows能够运行Docker daemon的Windows Server操作系统。 在Docker的代码库中,容器的执行块称为execdriver,作为一个在Linux上的默认实现调用tolibcontainer——在不久的将来将依靠runC。对于Windows容器,微软Windows团队将其融入Windows specific execdriver。就像它的Linux副本,这个实现快速调用内核代码,以及通过 microsoft/hccshim包调用Host Compute Service。 有趣的是,我被告知,这是历史上第一次Microsoft Windows基础团队为开源项目贡献代码,这太酷了,不是吗? **持续集成** 持续集成是一个保护项目取得进展的重要环节。事实上,绝大多数的贡献者运行Linux,不一定有环境或时间来验证他们的补丁不破坏构建Windows。 这就是为什么第一步和关键的一步是build green(甚至删除了许多块),为了使Windows Server编译作为持续集成工作。微软的团队发送补丁来push the Windows port forward,CI将确保没有其他贡献增加更多不可移植的代码,或者更糟的是,破坏已经移植的代码。 **开始尝试** 我们很兴奋你下载并试用Docker在Windows服务器。记住,这是一个技术预览版,所以有一些局限性和命令docker push在这个版本不支持。有问题,记得反馈给我们。 备注:本文由张鹏程编译整理,原文链接:http://blog.tenxcloud.com/?p=383

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3158 次点击  ∙  1 赞  
加入收藏 微博
1 回复  |  直到 2015-08-28 03:55:12
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传