今天看新闻,突然有爆料说docker已经支持Mac和Windows了,这不禁让我感慨发展之迅速。作为跟MFC,,Visual Studio, WinDBG,.Net打交道多年的我,甚是兴奋。不过,当我仔细阅读原文后,发现跟我们想的还相差甚远。
今天看新闻,突然有爆料说docker已经支持Mac和Windows了,这不禁让我感慨发展之迅速。作为跟MFC,,Visual Studio, WinDBG,.Net打交道多年的我,甚是兴奋。不过,当我仔细阅读原文后,发现跟我们想的还相差甚远。
“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,不过我猜测,这次的版本改进主要体现在以下几个方面:
这一系列的改进,不可谓不大。看得出docker得到了Microsoft和Mac的很大帮助,同时也归功于docker在Unikernal 领域的收购。那么为什么原生态的windows和mac那么难支持呢?这必须从docker的基本原理说起:
不过话说回来,Microsoft也不是吃素的,其实Windows Server 2016已经支持了原生态的docker,不过它基本上是完全重写了,连基础镜像都是windows server,这一点就很难融入docker的生态圈,毕竟Registry里面的基本都是运行在linux下的镜像。
作者介绍:晏东,精灵云(www.ghostcloud.cn)联合创始人,20年编程经验,全栈工程师,曾任索贝数码及赛门铁克架构师架构师,一直从事SAN、NAS及对象存储等分布式系统研发工作。2013年开始研究LXC和Docker相关技术,目前主要从事容器云平台镜像及仓库方面研发工作。
【编辑推荐】
【责任编辑:谭盼 TEL:(010)68476606】