文章目录

  • 1. 写在前面
  • 2. 安装过程
  • 3. 参考链接

1. 写在前面

尽管当前容器和容器编排等技术是非常热门的话题,但我之前的工作却很少有机会接触到这一类的技术栈,想起来不免觉得有些落伍了。不过好在做云计算服务的无论如何都是绕不开这个点的,所以我得花些时间搞起来,不能被 out 了……

有关容器的开篇,就讲讲如何在 linux 系统中安装 docker 运行环境,主要还是针对 RHEL 7.6 和 CentOS 7.6 版本而言,其它版本也可以参考借鉴一下。

起初,我是在 CentOS 7.6 的环境上按照如下的方式完成了 docker 运行环境的部署。

首先对系统做一些简单配置:

  • 配置主机名;
  • 关闭防火墙;
  • 禁用 selniux 模块;
  • 配置网络,主要是为了可以访问外部网络。

然后开始获取 get-docker.sh 脚本进行一键部署:

[root@centos76 ~]# mkdir /docker
[root@centos76 ~]# cd /docker
[root@centos76 docker]# curl -fsSL get.docker.com -o get-docker.sh   //获取脚本。
[root@centos76 docker]# sh get-docker.sh   //运行脚本实现一键部署。
[root@centos76 ~]# systemctl start docker   //启动 docker 服务。
[root@centos76 ~]# systemctl enable docker

最后安装成功,检查下版本信息:

[root@centos76 ~]# docker version
Client: Docker Engine - CommunityVersion:           20.10.15API version:       1.41Go version:        go1.17.9Git commit:        fd82621Built:             Thu May  5 13:16:58 2022OS/Arch:           linux/amd64Context:           defaultExperimental:      trueServer: Docker Engine - CommunityEngine:Version:          20.10.15API version:      1.41 (minimum version 1.12)Go version:       go1.17.9Git commit:       4433bf6Built:            Thu May  5 13:15:18 2022OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.4GitCommit:        212e8b6fa2f44b9c21b2798135fc6fb7c53efc16runc:Version:          1.1.1GitCommit:        v1.1.1-0-g52de29ddocker-init:Version:          0.19.0GitCommit:        de40ad0

当在 CentOS 7.6 上部署成功后,我想着干脆在 RHEL 7.6 的环境上也整一个,毕竟以后 CentOS 不维护了,然后就尴尬了,同样的操作在 RHEL 7.6 的环境遇到了报错:

[root@docker-node1 docker]# sh get-docker.sh
# Executing docker install script, commit: 614d05e0e669a0577500d055677bb6f71e822356
Packages for RHEL are currently only available for s390x.

这个 Packages for RHEL are currently only available for s390x 很显眼吧,就是对于 RHEL 目前仅支持 s390x (IBM Z) 架构,其余的暂不支持;可以看下官方文档 Install Docker Engine on RHEL 有关 Prerequisites 的说明,下面贴个图:

那么这个问题该如何解决呢,且看下文介绍的方法。


2. 安装过程

针对上面的问题,解决办法是拉取官方提供的 docker-ce.repo 仓库,通过 yum 来进行手工安装。

特别说明:以下所有操作全部是基于 REHL 7.6(Minimal)环境进行的!

第一步,我们需要配置好本地 yum 来安装一些基础工具。

  • 上传镜像并完成挂载:
[root@docker-node3 ~]# mkdir /iso   //上传镜像到此目录。
[root@docker-node3 ~]# mkdir /mnt/cdrom   //创建镜像挂载点。
[root@docker-node3 ~]# echo "/iso/rhel-7.6-x86_64-dvd.iso   /mnt/cdrom   iso9660   defaults   0 0" >> /etc/fstab   //设置镜像开机自动挂载。
[root@docker-node3 ~]# mount -a
  • 备份系统自带的 repo 文件:
[root@docker-node3 ~]# mkdir /etc/yum.repos.d/repobak
[root@docker-node3 ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repobak/
  • 创建 local.repo 本地 yum 源配置文件:
[root@docker-node3 ~]# vim /etc/yum.repos.d/local.repo   //配置信息如下所示。
[local]
name=local
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
  • 清除并重新生成缓存:
[root@docker-node3 ~]# yum clean all
[root@docker-node3 ~]# yum makecache
  • 安装基础工具包:
[root@docker-node3 ~]# yum -y install yum-utils device-mapper-persistent-data lvm2 wget

第二步,配置阿里云的镜像源。

  • 获取阿里云 Centos-7.repo 配置文件并重命名为 aliyun.repo:
[root@docker-node3 ~]# wget -O /etc/yum.repos.d/aliyun.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 修改 aliyun.repo 配置文件中的 baseurl 链接地址(否则将无法使用此仓库):
[root@docker-node3 ~]# sed -i 's/$releasever/7/g' /etc/yum.repos.d/aliyun.repo
  • 清除并重新生成缓存:
[root@docker-node3 ~]# yum clean all
[root@docker-node3 ~]# yum makecache
  • 安装 yum-plugin-priorities 插件:
[root@docker-node3 ~]# yum -y install yum-plugin-priorities
  • 检查插件是否已启用:
[root@docker-node3 ~]# cat /etc/yum/pluginconf.d/priorities.conf |grep 'enabled'
enabled = 1   //此值为“1”表示该插件被启用,为“0”则表示未被启用。

第三步,拉取 docker-ce 的仓库。

  • 获取 docker-ce 的仓库:
[root@docker-node3 ~]# yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
  • 修改 docker-ce.repo 配置文件中的 baseurl 链接地址:
[root@docker-node3 ~]# sed -i 's/rhel\/$releasever/centos\/7/g' /etc/yum.repos.d/docker-ce.repo

温馨提示:修改 docker-ce.repo 配置文件的目的是借用 centos 的资源,否则将无法使用此仓库,在执行 yum 相关的命令时也会出现如下的错误:

failure: repodata/repomd.xml from docker-ce-stable: [Errno 256] No more mirrors to try.
https://download.docker.com/linux/rhel/7Server/x86_64/stable/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
  • 设置 local.repo 的优先级:
[root@docker-node3 ~]# echo "priority=1" >> /etc/yum.repos.d/local.repo
  • 清除并重新生成缓存:
[root@docker-node3 ~]# yum clean all
[root@docker-node3 ~]# yum makecache
  • 显示系统当前可用的 yum 源:
[root@docker-node3 ~]# yum repolist

第四步,通过 docker-ce.repo 仓库安装 docker 环境。

  • 以降序(非严格意义上的降序)的方式列出当前仓库提供的 docker-ce 版本信息:
[root@docker-node3 ~]# yum list docker-ce --showduplicates | sort -r
This system is not registered with an entitlement server. You can use subscription-manager to register.
Loaded plugins: product-id, search-disabled-repos, subscription-manager
docker-ce.x86_64            3:20.10.9-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.8-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.7-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.6-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.5-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.4-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.3-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.2-3.el7                     docker-ce-stable
docker-ce.x86_64            3:20.10.16-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.15-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.14-3.el7                    docker-ce-stable
<···>
<···>   由于版本信息太多,以 “...” 符号表示省略的内容。
<···>
docker-ce.x86_64            17.06.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.03.3.ce-1.el7                    docker-ce-stable
docker-ce.x86_64            17.03.2.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.03.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.03.0.ce-1.el7.centos             docker-ce-stable
Available Packages
7546 packages excluded due to repository priority protections
  • 安装 docker 环境(当包后面不跟具体的版本号信息,则默认安装仓库所能提供的最新版本):
[root@docker-node3 ~]# yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin

温馨提示:如果需要指定版本号进行安装,则命令行如下所示(版本号选择使从第一个冒号 “:” 开始到第一个连字符 “-” 结束):

yum -y install docker-ce-20.10.15 docker-ce-cli-20.10.15 containerd.io docker-compose-plugin

第五步,启动 docker 服务并设置为开机自启动。

[root@docker-node3 ~]# systemctl list-unit-files |grep docker
docker.service                                disabled
docker.socket                                 disabled
[root@docker-node3 ~]# systemctl start docker
[root@docker-node3 ~]# systemctl enable docker
[root@docker-node3 ~]# systemctl status docker

第六步,查看当前 docker 的版本信息。

[root@docker-node3 ~]# docker version
Client: Docker Engine - CommunityVersion:           20.10.16API version:       1.41Go version:        go1.17.10Git commit:        aa7e414Built:             Thu May 12 09:19:45 2022OS/Arch:           linux/amd64Context:           defaultExperimental:      trueServer: Docker Engine - CommunityEngine:Version:          20.10.16API version:      1.41 (minimum version 1.12)Go version:       go1.17.10Git commit:       f756502Built:            Thu May 12 09:18:08 2022OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.4GitCommit:        212e8b6fa2f44b9c21b2798135fc6fb7c53efc16runc:Version:          1.1.1GitCommit:        v1.1.1-0-g52de29ddocker-init:Version:          0.19.0GitCommit:        de40ad0

至此,docker 的运行环境就配置好了,接下来就可以愉快的开始 docker 学习之旅啦~~


3. 参考链接

[1] Install Docker Engine on RHEL.
[2] Index of linux/centos/7/x86_64/stable/Packages/.
[3] 阿里云开源镜像站:Index of /repo/.
[4] 阿里云开源镜像站:Index of /centos/7/extras/x86_64/Packages/.


基于 RHEL 7.6 安装 Docker 运行环境相关推荐

  1. 一起玩Docker之1——Ubuntu配置安装Docker运行环境并安装(Ubuntu、Centos)镜像

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Li ...

  2. Linux安装Docker容器环境centos中安装docker-compose容器编排dockerfile文件构建镜像(史上最详细的docker)

    在Linux系统下安装docker容器环境 1.容器介绍 1.1 镜像(Image) 镜像可以用来创建Docker 容器,Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像, 用户甚至可 ...

  3. 下载安装Java运行环境

    安装Java运行环境 Java 是一种并发.基于类.面向对象.尽可能独立的通用程序设计语言,旨在让应用程序开发人员WORA (Write Once,Run Anywhere,编写一次,到处运行),即在 ...

  4. 使用CentOS7创建Docker运行环境

    使用CentOS7创建Docker运行环境 目录: 一.网络基础设置: 1.1 IP地址.网关 1.2 hostname.DNS 1.3 Host主机列表文件 1.4检查IP地址配置 二.安全及其他设 ...

  5. Linux下安装Dubbo运行环境

    Linux下安装Dubbo运行环境 1.1.1    安装jdk zk首先需要安装jdk环境. yum -y install glibc.i686       #jdk依赖glibc mkdir /u ...

  6. linux下安装matlab运行环境

    linux下安装matlab运行环境(Disabled - No sandbox or build area path) 由于某些需求需要java中调用matlab算法,需要在linux中安装运行环境 ...

  7. 安装jre运行环境_如何下载安装java运行环境jre

    如果你只需要运行Java程序或Applet,下载并安装它即可.如果你要自行开发Java软件,请下载JDK.在JDK中附带有JRE.注意由于Microsoft对Java的支持不完全,请不. . Java ...

  8. 学习安装java运行环境

    提示:学习安装java运行环境 文章目录 安装JDK 一.配置windows环境变量. 1.配置环境变量 2. 配置path 3.测试JDK是否安装成功 总结 安装JDK 提示:由于JDK8为大部份公 ...

  9. Linux matlab mysql,在linux系统里面安装matlab运行环境mcr

    matlab毕竟是收费软件,而且是有界面的.所以搞生物信息的都用R和linux替代了,但是很多高大上的单位,比如大名鼎鼎的broadinstitute,是用matlab的,所以他们开发的程序也会以ma ...

最新文章

  1. MYSQL的随机抽取实现方法
  2. 看完这份MySQL 性能调优文档,我把面试问我数据库调优的面试官虐哭了
  3. java maven 读写pdf_Java 在PDF中加盖骑缝章
  4. ntp symmetric_Python使用示例设置symmetric_difference()方法
  5. Tomcat启动过程源码解读
  6. 人工智能 21 个子领域高被引学者Top 3
  7. 生产环境下 RocketMQ 为什么不能开启自动创建主题?
  8. python从入门到精通需要多久-Python 从入门到精通:一个月就够了!
  9. ubuntu查看cpu温度
  10. 用matlab算特征值,用Matlab用计算特征值和特征向量
  11. 基于 Ubuntu20.04 的工作环境搭建
  12. OpenGL——场景设计
  13. PIE-engine APP 教程 ——太湖生态环境智能监测系统
  14. 360度绩效评估中的6个关键点,尤其是第4个!
  15. VeryCD上的EIOffice 2009简介
  16. Joint Discriminative and Generative Learning for Person Re-identification 论文翻译
  17. C++关于float和double的有效位数
  18. 怎样最大程度获得谷歌精选摘要(featured snippets)
  19. Python抓取淘女郎网页信息以及代码下载
  20. 解酒方法最全妙招 很灵的!

热门文章

  1. Epic Games 识别本地游戏不用重新下载
  2. 电表水表数据采集系统
  3. 2023注会电子版教材
  4. NetApp 人工智能解决方案
  5. Excel中提取url的文件名
  6. 构建文件系统脚本分析笔记
  7. 第十四届蓝桥杯校内模拟赛第一期——Python
  8. java开发岗位面试题汇总及解析2
  9. (附源码)springbootBBS问答社区系统的设计与实现 毕业设计121007
  10. 贝尔商道赚钱思维36道第17道:二十英里法则