基于 RHEL 7.6 安装 Docker 运行环境
文章目录
- 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 运行环境相关推荐
- 一起玩Docker之1——Ubuntu配置安装Docker运行环境并安装(Ubuntu、Centos)镜像
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Li ...
- Linux安装Docker容器环境centos中安装docker-compose容器编排dockerfile文件构建镜像(史上最详细的docker)
在Linux系统下安装docker容器环境 1.容器介绍 1.1 镜像(Image) 镜像可以用来创建Docker 容器,Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像, 用户甚至可 ...
- 下载安装Java运行环境
安装Java运行环境 Java 是一种并发.基于类.面向对象.尽可能独立的通用程序设计语言,旨在让应用程序开发人员WORA (Write Once,Run Anywhere,编写一次,到处运行),即在 ...
- 使用CentOS7创建Docker运行环境
使用CentOS7创建Docker运行环境 目录: 一.网络基础设置: 1.1 IP地址.网关 1.2 hostname.DNS 1.3 Host主机列表文件 1.4检查IP地址配置 二.安全及其他设 ...
- Linux下安装Dubbo运行环境
Linux下安装Dubbo运行环境 1.1.1 安装jdk zk首先需要安装jdk环境. yum -y install glibc.i686 #jdk依赖glibc mkdir /u ...
- linux下安装matlab运行环境
linux下安装matlab运行环境(Disabled - No sandbox or build area path) 由于某些需求需要java中调用matlab算法,需要在linux中安装运行环境 ...
- 安装jre运行环境_如何下载安装java运行环境jre
如果你只需要运行Java程序或Applet,下载并安装它即可.如果你要自行开发Java软件,请下载JDK.在JDK中附带有JRE.注意由于Microsoft对Java的支持不完全,请不. . Java ...
- 学习安装java运行环境
提示:学习安装java运行环境 文章目录 安装JDK 一.配置windows环境变量. 1.配置环境变量 2. 配置path 3.测试JDK是否安装成功 总结 安装JDK 提示:由于JDK8为大部份公 ...
- Linux matlab mysql,在linux系统里面安装matlab运行环境mcr
matlab毕竟是收费软件,而且是有界面的.所以搞生物信息的都用R和linux替代了,但是很多高大上的单位,比如大名鼎鼎的broadinstitute,是用matlab的,所以他们开发的程序也会以ma ...
最新文章
- MYSQL的随机抽取实现方法
- 看完这份MySQL 性能调优文档,我把面试问我数据库调优的面试官虐哭了
- java maven 读写pdf_Java 在PDF中加盖骑缝章
- ntp symmetric_Python使用示例设置symmetric_difference()方法
- Tomcat启动过程源码解读
- 人工智能 21 个子领域高被引学者Top 3
- 生产环境下 RocketMQ 为什么不能开启自动创建主题?
- python从入门到精通需要多久-Python 从入门到精通:一个月就够了!
- ubuntu查看cpu温度
- 用matlab算特征值,用Matlab用计算特征值和特征向量
- 基于 Ubuntu20.04 的工作环境搭建
- OpenGL——场景设计
- PIE-engine APP 教程 ——太湖生态环境智能监测系统
- 360度绩效评估中的6个关键点,尤其是第4个!
- VeryCD上的EIOffice 2009简介
- Joint Discriminative and Generative Learning for Person Re-identification 论文翻译
- C++关于float和double的有效位数
- 怎样最大程度获得谷歌精选摘要(featured snippets)
- Python抓取淘女郎网页信息以及代码下载
- 解酒方法最全妙招 很灵的!