《循序渐进学Docker》——第3章 Ubuntu下使用Docker 3.1 Docker的运行平台

简介: 本节书摘来自华章出版社《循序渐进学Docker》一书中的第3章,第3.1节,作者李金榜 尹烨 刘天斯 陈纯,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 第3章 Ubuntu下使用Docker 第2章我们介绍了在Windows下如何搭建一个Docker运行环境。

本节书摘来自华章出版社《循序渐进学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,这样有些功能体验不好。

相关文章
|
1月前
|
前端开发 关系型数据库 MySQL
IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】
IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】
|
1月前
|
Oracle 关系型数据库 数据库
|
1月前
|
搜索推荐 测试技术 数据安全/隐私保护
【Docker项目实战】Docker环境下部署NeonLink书签平台
【2月更文挑战第17天】Docker环境下部署NeonLink书签平台
82 0
|
1天前
|
测试技术 Linux 网络安全
【好玩的开源项目】使用Docker部署SyncTV视频同步和共享平台
【4月更文挑战第16天】使用Docker部署SyncTV视频同步和共享平台
20 0
|
7天前
|
存储 Ubuntu 关系型数据库
Docker从入门到精通:ubuntu系统安装docker
本文介绍了Docker的安装过程。首先,文章简述了Docker的组成部分:镜像(如模板用于创建容器服务)、容器(运行应用的独立实体)和仓库(存储镜像的库)。接着,针对Ubuntu系统,详细阐述了卸载旧版本Docker、更新软件包、安装依赖、添加Docker官方GPG密钥和软件源、安装Docker以及配置用户组的步骤。最后,通过启动Docker、验证安装是否成功(运行`hello-world`镜像)和查看Docker版本来确认安装完成。
39 12
|
12天前
|
测试技术 Linux 数据安全/隐私保护
【Docker项目实战】使用Docker部署PicoShare共享文件平台
【4月更文挑战第5天】使用Docker部署PicoShare共享文件平台
46 4
|
16天前
|
Ubuntu Unix Linux
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
|
17天前
|
Linux Docker 容器
Linux彻底卸载Docker包括运行拉取的镜像
Linux彻底卸载Docker包括运行拉取的镜像
21 1
|
23天前
|
jenkins Java 持续交付
Docker搭建持续集成平台Jenkins最简教程
Jenkins 是一个广泛使用的开源持续集成工具,它能够自动化构建、测试和部署软件项目。在本文中,我们将使用 Docker 搭建一个基于 Jenkins 的持续集成平台。
107 2
|
25天前
|
Java 关系型数据库 数据库
Seata常见问题之docker运行报错如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
97 0