您的位置:首页 > 运维架构 > Docker

Docker Runs on Windows Server 2016

2015-09-14 21:23 686 查看
最近容器技术大行其道,两年以来发展势头十分迅猛,国内也开始兴起了以Docker为主的Caas服务厂商。微软自从转型依赖,一直以拥抱开源的姿态迎接新事物,这次微软决定在 Windows Server 2016 中加入对Docker的支持。

今天8月份,微软发布了三个Windows Server 2016的第三个预览版,其中最后一个预览版中加入了对Docker的支持。对于Windows开发者来说,这是很有纪念意义的一件事情。这个项目由微软和Docker的技术团队共同合作完成, 据说这是微软 Windows 团队基础团队第一次为开源项目贡献代码。

微软发布了Windows Server的Docker Engine(也叫做Windows daemon)的预览版,供大家下载和测试。Windows Server 2016 Technical Preview 3(TP3)以及WindowsServer Docker Engine的发布,也意味着将有更多的开发者加入到Docker社区中来,编译新的软件并向Docker贡献代码。

Dockerdaemon for Windows Server

许多人并没有意识到在Windows Server上运行Docker意味着什么。以下几点可以帮助你理解这个过程和技术详情:

1.Windows Server Docker Engine并不是分支,也不是另外一个项目,Linux和Windows的Docker Engine基于同一个基础代码库;

2.Windows Server Docker 的预览版,在特性上还不完备, 大多数我们熟知的 Docker 命令行都可以在 Windows Server 上正常运行 。比如,你可以写一个 Dockerfile ,然后像在 Linux 上一样运行 docker build 编译出来;

3.Windows Server 的 Docker daemon 不能运行 Linux 下的 Docker 镜像!虚拟化技术并没有参与其中,跟 Linux 下的原理一样, Windows Server 容器重用了宿主机的内核,为进程创建了一个沙盒环境。

这意味着,对于运行的进程来说,Docker变成了一个跨平台的接口。例如,通过统一的接口,Linux和Windows Server的主机集群可以通过Docker Swarm被混合编排,还可以实用同一个Docker CLI和Docker命令行。无需学习新的命令,开发者们又有了更多的选择。

Container runtime和内核依赖

大家都知道Docker基于Linux内核特性(namespace和cgroups)。同样的,微软也在Windows内核中添加了container的特性,从而用户的代码可以被运行在沙盒环境的进程中。这些特性只在刚刚发布的Windows Server 2016预览版中可以看到。

在Docker的基础代码库中,执行容器运行的部分是execdriver,在Linux下的默认继承是libcontainer,不久后会基于runC。微软团队在这个架构中集成了一个Windows专用的execdriver,不久就会像Linux一样,加入到内核代码中。

持续集成

对于任何需要长期维护的软件来说,持续集成都是一个很重要的工作。实际上,大多数Linux的contributor并没有环境和时间,去确认自己的代码包会不会打断Windows那边的build工作。

为保证Windows Server那边的工作是一个持续的过程,首先要保证编译能顺利通过。CI保证了微软团队提交的代码,不会被其他contributor的代码影响。

现在就可以马上下载试用Windows Server Docker了,由于是预览版,还有一些限制,比如不支持docker push命令行。

1)Windows Server 2016 Preview download page:
http://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-technical-preview?i=1
2)Community Resources(社区资源)
https://msdn.microsoft.com/virtualization/community/community_overview
3)Discuss
https://social.msdn.microsoft.com/Forums/en-US/home?forum=windowscontainers
4)News
http://www.tuicool.com/articles/QbMFjaI
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: