《第一本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包。

相关文章
|
4月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
2月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
329 3
docker 安装 Postgres 17.6
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
317 5
|
1月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
318 2
|
4月前
|
Linux Docker Windows
windows docker安装报错适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新。
适用于 Linux 的 Windows 子系统需更新至最新版本(如 wsl.2.4.11.0.x64.msi)以解决 2025 年 Windows 更新后可能出现的兼容性问题。用户可通过运行 “wsl.exe --update” 或访问提供的链接下载升级包进行更新。
1607 0
|
存储 关系型数据库 MySQL
Red Hat 安装MySQL 8.0与 Navicat
Red Hat 安装 MySQL 8.0 1、更新软件包列表 在添加 MySQL 存储库后,运行以下命令以更新软件包列表: sudo yum update 2、安装MySQL服务器和客户端 执行以下命令安装MySQL 8.0服务器和客户端软件包: sudo yum install -y mysql-server 3、启动MySQL服务 安装完成后,MySQL 服务器应该已经自动启动。如果没有启动,您可以运行以下命令手动启动服务: sudo systemctl start mysqld 启用 MySQL 服务的开机启动,可以运行以下命令: sudo systemctl enable mysqld
560 1
|
安全 Linux 网络安全
如何在 VM 虚拟机中安装 Red Hat Enterprise Linux 9.3 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Red Hat Enterprise Linux 9.3 操作系统保姆级教程(附链接)
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
478 3