摘要:通过这个过程,我们已经与微软开发人员密切合作。两个世界的碰撞这项工作始于年月,对于一个开源项目,它让我们保持与微软不可思议的互动。对于容器,微软团队将其融入。
作为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的贡献者社区。
总的来说,微软团队通过大约180000行代码修改实现了这一点,所有这些全部公开并且正在经过严格的Docker项目评估过程。
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
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/26446.html
摘要:自从微软和宣布合作以来,微软一直在容器上面的战略可谓稳扎稳打。最近,微软加入,并作为创始成员承诺支持常见容器的格式和运行。这种定位导致大家对于微软容器战略的认识模糊。微软的容器策略并不是可移植性说的直白一点。 自从微软和Docker宣布合作以来,微软Redmond一直在容器上面的战略可谓稳扎稳打。最近,微软加入Open Container Initiative (OCI),并作为创始成...
摘要:关于这个渠道的介绍,大家可以参阅微软官方文档。各位可以从微软官网下载的测试版本,而则是面向批量授权用户的,如果您是订阅用户,也可以在订阅站点下载。安装过程中需要执行以下命令。重启完成后可以通过确认服务是否正常启动。 前言 经过前两篇文章的铺垫,今天我们来讲下如何在Windows环境下安装Docker。众所周知,Windows分为客户端和服务器端两条产品线,对应到的最新版本是Window...
摘要:自推出以来,许多重大的里程碑事件都推动了容器革命。它支持广泛的编程语言基础设施选项,并获得容器生态系统的巨大支持。结论容器生态系统仍然在不断发展与改变。最值得关注的,是在这一领域中,和各个供应商是如何进步,以推动容器生态系统的发展的。 Docker于 2013年推出以来,给软件开发带来了极具传染性的振奋和创新,并获得了来自各个行业、各个领域的巨大的支持——从大企业到初创公司,从研发到各...
阅读 2886·2021-11-17 09:33
阅读 3660·2021-11-16 11:42
阅读 3487·2021-10-26 09:50
阅读 1315·2021-09-22 15:49
阅读 3044·2021-08-10 09:44
阅读 3667·2019-08-29 18:36
阅读 3923·2019-08-29 16:43
阅读 2207·2019-08-29 14:10