本节书摘来自华章出版社《循序渐进学Docker》一书中的第3章,第3.1节,作者李金榜 尹烨 刘天斯 陈纯,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
第3章
Ubuntu下使用Docker
第2章我们介绍了在Windows下如何搭建一个Docker运行环境。这一章我们要切换环境,在Ubuntu系统下使用Docker。为什么要切换到Ubuntu下呢,还要从Docker的运行平台说起。
3.1 Docker的运行平台
首先,我们需要知道Docker可以在哪些操作系统下运行。截止到2016年3月底,几乎所有的Linux系统(如Red Hat Enterprise Linux(RHEL)/Centos、Debian/Ubuntu、gentoo、arch linux等)和主流的云平台服务(如Amazon EC2、Google Cloud Platform、Rackspace Cloud、阿里云等)都支持Docker,非Linux平台的Mac OS X和Microsoft Windows通过Docker Toolbox来支持与运行Docker。
需要注意的是,虽然几乎所有的系统和平台都支持Docker,但并不是说每种系统的所有版本都支持。因为Docker是2013年3月才诞生,用到Linux内核3.8以上的系统才具有的一些新特性,刚开始时只是在Ubunut下运行,各大厂商看到Docker的优势,才纷纷拥抱Docker,推出支持Docker的系统版本。所以只有相对比较新的系统版本才开始支持Docker。
那么,是不是只有运行Linux内核3.8以上的系统才能支持Docker?这个说法基本正确,但RHEL/Centos系列是个例外,因为它没有用原生的Linux内核,它的内核是修剪过的,根据需要,它会在Linux的低版本的内核加入高版本的特性,看到的版本号却还是低版本的内核编号。正是这个原因,内核版本为2.6.32-431的RHEL/Centos6.5就已经开始支持Docker了,因为它把Linux高版本内核中支持Docker的特性迁移到2.6.32-431。
由于Docker跨平台的特性,不同的系统平台有不同的优势,用户可以根据自己的需求进行选择。
Docker是在Ubuntu下诞生和发展的,Docker的最新特性都是在Ubuntu下开发和测试的,所以Ubuntu是支持Docker的最好的操作系统。
REHL/Centos有强大的研发实力,在保证系统稳定的前提下,可以快速把Docker的新特性移植到该系统下,所以对系统稳定性要求比较高的生产环境,推荐使用REHL/Centos。
CoreOS是为Docker而生的操作系统,除了对Docker支持良好外,还集成etcd、fleet等,方便对Docker的集中管理。最近比较流行的PaaS开源软件Flynn和Deis都是基于CoreOS来做的。CoreOS是对Docker支持最深入的操作系统,但是该系统比较新,稳定性有待时间的检验。另外,CoreOS还推出了自家的类Docker的容器——Rocket,后续对Docker的支持有待观察。
在Docker自身工具包Docker Toolbox的帮助下,Docker在Windows和OS X系统也有良好的表现,对非Linux用户(大部分的开发者)是一个福音。但是Windows和OS X系统本身并不支持Docker,工具包Docker Toolbox通过集成一个Linux的虚拟机,让Docker运行起来,所以对于一些复杂的应用,Windows环境并不能胜任。我们上一章介绍了Windows下的Docker,主要是为了让大家快速体验Docker,如果大家想深入学习,还是建议大家安装Linux环境(尤其推荐Ubuntu)。
Docker对操作系统的另外一个要求是必须是64bit的系统。
如果大家只有一台Windows计算机,建议大家再安装一个Ubuntu系统,形成双系统。不建议在Windows系统下通过虚拟机安装Ubuntu,这样有些功能体验不好。