环境
CentOS的版本:CentOS 7.9 2009
Docker的版本:最新稳定版
安装
Docker官网的文档中介绍,我们安装Docker可以有三种方式:
- 设置Docker的存储库并从中安装。Docker官方推荐使用此方式,它能够方便的进行安装和升级任务,但使用此方式有个前提条件,就是服务器必须能访问外网去下载资源。
- 手动下载RPM包进行安装。此方法通常用于服务器无法访问外网下载资源的场景中。
- 使用脚本安装。此方法较少使用,极个别情况下也会在测试环境和开发环境中使用。
鉴于第三种使用较少,我这里只提供前两种方式的安装方法。如果你在看过两种安装方式后,你会发现它们都是使用rpm包进行安装的,不同之处在于一个是从网上下载,另一个是先从网上下载到本地,再上传到服务器安装。
存储库安装
1、卸载旧的Docker版本
由于旧版本的Docker命名时docker或docker-engine,新的版本为docker-ce,因此在安装新的版本之前需要先卸载旧的版本及它们的依赖。注意,如果你的服务器中没有运行旧版本的Docker,则可以直接跳过此步骤。
[root@localhost ~]# yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
2、配置存储库
配置存储库,其实就是将docker的网络源下载到/etc/yum.repos.d目录下,让我们在执行yum时能够使用这些地址下载rpm包。
[root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3、安装Docker引擎
配置好存储库后,我们就可以直接使用yum安装Docker了。默认安装的版本就是你的CentOS版本能够更新的最新稳定版,我们无需修改这里,除非你想使用测试版。
[root@localhost ~]# yum install docker-ce docker-ce-cli containerd.io
4、启动Docker
安装完成后,直接启动Docker引擎就可以了。
[root@localhost ~]# systemctl start docker
5、配置自启动
在看到启动成功后,我们还需要配置docker的自启动。假如我们的服务器出现问题异常停机了,在开机后还需要手动执行启动docker的命令,如果配置了自启动后,docker会在每次重启服务器后自动启动服务,就不需要我们手动执行命令启动了。
[root@localhost ~]# systemctl enable docker
RPM包安装
1、下载rpm包
我们通过官网去下载rpm包,下载的版本还是选择stable(稳定版)。
官网下载地址:https://download.docker.com/linux/centos
打开网址后,我们选择指定相应版本的包,我这里选择7.9版本,然后选择x86_64,再选择docker的版本stable,进入Packages去下载相应rpm包。rpm包要下载5个,分别是:
- containerd.io
- docker-ce
- docker-ce-cli
- docker-ce-rootless-extras
- docker-scan-plugin
docker-ce、docker-ce-cli和docker-ce-rootless-extras这三个必须为同版本(建议下载最高版本),其他两个下载高版本即可。
2、卸载旧的Docker版本
由于旧版本的Docker命名时docker或docker-engine,新的版本为docker-ce,因此在安装新的版本之前需要先卸载旧的版本及它们的依赖。注意,如果你的服务器中没有运行旧版本的Docker,则可以直接跳过此步骤。
[root@localhost ~]# yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
3、上传并安装rpm包
我们确定当前服务器没有旧版的Docker之后,就可以通过工具将刚刚下载的5个rpm包上到到服务器中。
[root@localhost src]# rpm -ivh *.rpm
4、启动Docker并配置自启动
安装完成后,我们就可以直接使用systemctl命令启动docker服务了。
[root@localhost ~]# systemctl start docker
5、配置自启动
在看到启动成功后,我们还需要配置docker的自启动。假如我们的服务器出现问题异常停机了,在开机后还需要手动执行启动docker的命令,如果配置了自启动后,docker会在每次重启服务器后自动启动服务,就不需要我们手动执行命令启动了。
[root@localhost ~]# systemctl enable docker
错误
1、rpm安装时报错依赖缺少
在使用rpm安装docker时报错依赖检测失败
解决方法:
此问题是由于在安装docker时检测到缺少必要的依赖导致,我们下载安装这些依赖即可。注意,如果你有配置本地yum源,则可以试试直接yum安装rpm包,否则,必须下载所缺少的依赖包。
我这里直接去网上下载这些依赖包,网站地址如下:
网址:依赖包下载
注意,下载的依赖包要和你的操作系统与cpu相匹配,我这里是CentOS 7 x86的架构,所以我下载的包是:
- container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm
- fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm
- fuse3-libs-3.6.1-2.el7.x86_64.rpm
- slirp4netns-0.4.3-4.el7_8.x86_64.rpm
下载好上传到服务器之后,使用rpm安装的时候加上这些依赖包即可。
[root@localhost ~]# rpm -ivh containerd*.rpm docker-*.rpm container*.rpm fuse*.rpm slirp4netns*.rpm
评论区