《循序渐进学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,这样有些功能体验不好。

相关文章
|
2月前
|
Ubuntu 编译器 C语言
在Ubuntu22.04平台上交叉编译针对Rv1126架构的GCC13.2.0编译器的步骤。
遵循上述步骤,您应该能够在Ubuntu 22.04平台上成功交叉编译适用于RISC-V架构RV1126的GCC 13.2.0编译器,允许您为目标硬件构建应用程序和操作系统组件。
132 10
|
3月前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
331 12
|
3月前
|
Ubuntu 定位技术 TensorFlow
源码编译安装ROCm以运行tensorflow-rocm(适用于Ubuntu 23.04)
总结一番,完成这趟奇妙的技术之旅后,乐趣多多,还能享受 tensorflow-rocm 带来的便利和速度。这趟旅程需要耐心,勇气,以及对技术的热爱。朋友,做好准备,让你的Ubuntu系统展翅高飞吧!
153 9
|
3月前
|
Ubuntu Linux Shell
Linux环境下VSCode快速安装终极指南:debian/ubuntu/linux平台通用
以上就是在Linux环境下安装VSCode的终极指南,抛开繁复的专业词汇,以平易近人的文字、形象生动的比喻让你轻松学会这一过程。别忘了,你的小伙伴VSCode已经在应用菜单里等你了!
805 23
|
3月前
|
Ubuntu 机器人 开发者
Docker环境下的ROS Noetic:Ubuntu 20.04 系统下的解决方案
这就是在Docker环境下安装ROS Noetic在Ubuntu 20.04系统的一种简单方法,希望能对你有所帮助。
380 16
|
4月前
|
Ubuntu 安全
Ubuntu中遇到"无法创建临时文件"/tmp/..."在普通或root用户运行apt-get update时的错误解决办法
这些步骤当然不能涵盖所有可能出现问题的场合,但是能覆盖大多数常见的情景。希望这些信息能帮到你解决"无法创建临时文件"/tmp/..."这样的问题。不过,请记住,因为修改系统文件和目录的权限,清理临时文件,或者运行磁盘检查,都可能对系统造成影响,所以执行这些操作前要先确认这是安全的,必要时最好先做好数据备份。
234 10
|
5月前
|
Ubuntu Linux 网络安全
Ubuntu Docker镜像:支持systemctl、SSH、VNC
总的来说,创建一个支持systemctl、SSH和VNC的Ubuntu Docker镜像需要一些技术知识,但是通过学习和实践,我们可以掌握这些技术。这将使我们能够更有效地使用Docker,更好地管理我们的应用程序和服务。CentOS系统中的日志文件位置和管理
172 17
|
5月前
|
Ubuntu 安全 网络安全
Docker镜像:Ubuntu支持systemctl、SSH和VNC
总的来说,Docker提供了一个灵活且强大的方式来创建和运行自定义的Ubuntu镜像。通过理解和使用Dockerfile,你可以轻松地创建一个支持systemctl、SSH和VNC的Ubuntu镜像。
336 21