转载

Docker真的支持原生态Mac和windows了吗?

Docker真的支持原生态Mac和windows了吗?

今天看新闻,突然有爆料说docker已经支持Mac和Windows了,这不禁让我感慨发展之迅速。作为跟MFC,,Visual Studio, WinDBG,.Net打交道多年的我,甚是兴奋。不过,当我仔细阅读原文后,发现跟我们想的还相差甚远。

作者:精灵云(ghostcloud)创始人 晏东 来源:51CTO | 2016-03-28 14:44

51CTO首届中国APP创新评选大赛正在招募>>

今天看新闻,突然有爆料说docker已经支持Mac和Windows了,这不禁让我感慨发展之迅速。作为跟MFC,,Visual Studio, WinDBG,.Net打交道多年的我,甚是兴奋。不过,当我仔细阅读原文后,发现跟我们想的还相差甚远。

Docker真的支持原生态Mac和windows了吗?

“Faster and more reliable: no more VirtualBox! The Docker engine is running in an Alpine Linux distribution on top of an xhyve Virtual Machine on Mac OS X or on a Hyper-V VM on Windows, and that VM is managed by the Docker application. You don’t need docker-machine to run Docker for Mac and Windows.”

仅凭这一句,我就顿感失望。Docker和VM的最大区别就是,一个是操作系级虚拟化,一个是硬件级虚拟化。因此, Docker本身就是可以运行在VM之上的。你不能说在windows上装个虚拟机,然后再运行一个Docker,就说docker支持windows吧。为了让docker能在VM上运行,docker专门开发了Docker Toolbox和docker-machine,其核心都是通过虚拟机来运行docker,只不过是帮用户简化了中间的部署和配置流程。针对本次的Beta发布,更多的是优化的工作。笔者也提交了试用申请,然后进入了长长的waiting-list,不过我猜测,这次的版本改进主要体现在以下几个方面:

  1. 通过使用轻量级的linux发型版本,使VM更小,部署和安装更快。Alpine linux是一个非常轻量级的发型版,而且docker也有计划让alpine作为默认的基础镜像。
  2. 原生工具集支持。以前我们在非linux下运行时,都需要借助于类似MINGW的工具,模拟一下Shell。而这次Beta的退出,在这方面肯定是加强了,支持了原生态的命令。
  3. 更好的网络支持。可能会将Docker的网络系统集成到Mac和Windows的原生网络系统中,方便用户配置。
  4. 更好的对系统沙盒的适配。OS X和Windows本身都是支持沙盒的,可能在这方面会有所加强。

这一系列的改进,不可谓不大。看得出docker得到了Microsoft和Mac的很大帮助,同时也归功于docker在Unikernal 领域的收购。那么为什么原生态的windows和mac那么难支持呢?这必须从docker的基本原理说起:

  •  CGroup技术,这是用来控制CPU、内存、网络等资源限制的,这需要内核的支持,而目前只有linux的支持比较好。
  • lNamespace技术,这是用来做用户资源隔离的,注意这里是隔离,是让一个进程成为一个沙盒,拥有完全独立的PID,网络栈,主机名等,而这一技术目前也是只有linux支持比较好。

不过话说回来,Microsoft也不是吃素的,其实Windows Server 2016已经支持了原生态的docker,不过它基本上是完全重写了,连基础镜像都是windows server,这一点就很难融入docker的生态圈,毕竟Registry里面的基本都是运行在linux下的镜像。

作者介绍:晏东,精灵云(www.ghostcloud.cn)联合创始人,20年编程经验,全栈工程师,曾任索贝数码及赛门铁克架构师架构师,一直从事SAN、NAS及对象存储等分布式系统研发工作。2013年开始研究LXC和Docker相关技术,目前主要从事容器云平台镜像及仓库方面研发工作。

【编辑推荐】

  1. 使用Docker时需要关注的五项安全问题
  2. 炒个冷饭LXC,试问Docker你凭啥这么火?
  3. 基于docker搭建测试环境
  4. 微软Windows 10 Build 14291发布:Edge引入扩展支持
  5. Docker使用过程中可能遇到的问题

【责任编辑:谭盼 TEL:(010)68476606】

原文  http://cloud.51cto.com/art/201603/507951.htm
正文到此结束
Loading...