《第一本Docker书(修订版)》——2.3 在Red Hat和Red Hat系发行版中安装Docker-阿里云开发者社区

开发者社区> 数据库> 正文

《第一本Docker书(修订版)》——2.3 在Red Hat和Red Hat系发行版中安装Docker

简介: 本节书摘来自异步社区《第一本Docker书(修订版)》一书中的第2章,第2.3节,作者:【澳】James Turnbull(詹姆斯•特恩布尔)著,更多章节内容可以访问云栖社区“异步社区”公众号查看

本节书摘来自异步社区《第一本Docker书(修订版)》一书中的第2章,第2.3节,作者:【澳】James Turnbull(詹姆斯•特恩布尔)著,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.3 在Red Hat和Red Hat系发行版中安装Docker

在Red Hat企业版Linux(或者CentOS或Fedora)中,只有少数几个版本可以安装Docker,包括:

RHEL(和CentOS)6或以上的版本(64位);
Fedora 19或以上的版本(64位);
Oracle Linux 6和Oracle Linux 7,带有Unbreakable企业内核发行版 3(3.8.13)或者更高版本(64位)。
提示
在Red Hat企业版Linux 7及更高版本中,Docker已经成为系统自带的软件包了,并且,只有Red Hat企业版Linux 7是Red Hat官方支持Docker的发行版本。
2.3.1 检查前提条件
在Red Hat和Red Hat系列的Linux发行版中,安装Docker所需的前提条件也并不多。

1.内核
可以使用代码清单2-17所示的uname命令来确认是否安装了3.8或更高的内核版本。

代码清单2-17 检查Red Hat或Fedora的内核

$ uname -a
Linux darknight.example.com 3.10.9-200.fc19.x86_64 #1 SMP Wed Aug
21 19:27:58 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

目前所有官方支持的Red Hat和Red Hat系列平台,应该都安装了支持Docker的内核。

2.检查Device Mapper
我们这里使用Device Mapper作为Docker的存储驱动,为Docker提供存储能力。在Red Hat企业版Linux、CentOS 6或Fedora 19及更高版本宿主机中,应该也都安装了Device Mapper,不过还是需要确认一下,如代码清单2-18所示。

代码清单2-18 检查Device Mapper

$ ls -l /sys/class/misc/device-mapper
lrwxrwxrwx 1 root root 0 Oct  5 18:50 /sys/class/misc/device-mapper
  -> ../../devices/virtual/misc/device-mapper

同样,也可以在/proc/devices文件中检查是否有device-mapper条目,如代码清单2-19所示。

代码清单2-19 在Red Hat的proc文件中检查Device Mapper

$ sudo grep device-mapper /proc/devices
如果没有检测到Device Mapper,也可以试着安装device-mapper软件包,如代码清单2-20所示。

代码清单2-20 安装Device Mapper软件包

$ sudo yum install -y device-mapper
提示
在新版本的Red Hat系列发行版本中, yum命令已经被dnf命令取代,它们的语法并没有什么变化。
安装完成后,还需要加载dm_mod内核模块,如代码清单2-21所示。

代码清单2-21 加载Device Mapper模块

$ sudo modprobe dm_mod
模块加载完毕,就应该可以找到/sys/class/misc/device-mapper条目了。

2.3.2 安装Docker
在不同版本的Red Hat中,安装过程略有不同。在RHEL 6或CentOS 6中,需要先添加EPEL软件包的仓库。而Fedora中则不需要启用EPEL仓库。在不同的平台和版本中,软件包命名也有细微的差别。

1.在RHEL 6和CentOS 6中安装Docker
对于Red Hat企业版Linux 6和CentOS 6,可以使用代码清单2-22所示的RPM软件包来安装EPEL。

代码清单2-22 在RHEL 6和CentOS 6中安装EPEL

$ sudo rpm –Uvh http://download.fedoraproject.org/pub/epel/6/i386
/epel-release-6-8.noarch.rpm
安装完EPEL后,就可以安装Docker了,如代码清单2-23所示。

代码清单2-23 在RHEL 6和CentOS 6中安装Docker软件包

$ sudo yum -y install docker-io
2.在RHEL 7中安装Docker
RHEL 7或更高的版本可以按照代码清单2-24所示的指令来安装Docker。

代码清单2-24 在RHEL 7中安装Docker

$ sudo subscription-manager repos --enable=rhel-7-server-extras-rpms
$ sudo yum install -y docker

要想访问Red Hat的Docker软件包和文档,必须是Red Hat的客户,并拥有RHEL服务器订阅授权(RHEL Server subscription entitlement)。

3.在Fedora中安装Docker
在不同版本的Fedora中,有几个软件包的名称有所不同。在Fedora 19中,要安装docker-io这个软件包,如代码清单2-25所示。

提示
在新版本的Red Hat系列发行版本中,yum命令已经被dnf命令取代,它们的语法并没有什么变化。
代码清单2-25 在Fedora 19中安装Docker

$ sudo yum -y install docker-io
在Fedora 20或更高的版本中,软件包的名称已经改为docker,如代码清单2-26所示。

代码清单2-26 在Fedora 20或更高版本中安装Docker

$ sudo yum -y install docker
而在Fedora 21中,软件包的名称又回退到了docker-io,如代码清单2-27所示。

代码清单2-27 在Fedora 21上安装Docker

$ sudo yum -y install docker-io
最后,到了Fedora 22,软件包的名称则又变回了docker。同时,也是在Fedora 22,yum命令也不被推荐使用,被dnf命令取代了,如代码清单2-28所示。

代码清单2-28 在Fedora 22上安装Docker

$ sudo dnf install docker
提示
可以在官方网站(https://docs.docker.com/engine/installation/oracle/)找到如何在Oracle Linux上安装Docker的文档。
2.3.3 在Red Hat系发行版中启动Docker守护进程
软件包安装完成后就可以启动Docker守护进程了。在RHEL 6或CentOS 6中,可以用代码清单2-29所示的命令启动守护进程。

代码清单2-29 在Red Hat 企业版Linux 6中启动Docker守护进程

$ sudo service docker start
想要在系统开机时自动启动Docker服务,还应该执行代码清单2-30所示的命令。

代码清单2-30 确保在RHEL 6中开机启动Docker

$ sudo service docker enable
在RHEL 7或Fedora中启动Docker服务,则需要执行代码清单2-31所示的命令。

代码清单2-31 在RHEL 7中启动Docker守护进程

$ sudo systemctl start docker
想要在系统开机自动启动Docker服务,还要执行代码清单2-32所示的命令。

代码清单2-32 确保在Red Hat企业版7中开机启动Docker

$ sudo systemctl enable docker
完成上述工作后,就可以用docker info命令来确认Docker是否已经正确安装并运行了,如代码清单2-33所示。

代码清单2-33 在Red Hat系列发行版中检查Docker是否正确安装

$ sudo docker info
Containers: 0
Images: 0
. . .

提示
也可以直接从Docker官方网站下载RHEL[20]、CentOS[21]和Fedora[22]用的最新版RPM包。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章