Docker安装官方文档地址:https://docs.docker.com/engine/install/centos/#installation-methods
1、Docker仓库安装方式详解
1.1 检查服务器上是否安装过docker,如果安装了,先卸载旧版本
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
上述命令执行成功之后, 全局查找一下docker相关的目录和文件,通常都在/var/lib/docker这个目录下,都删除掉。
1.2 将yum的仓库更新到最新
sudo yum update
1.3 检查并安装依赖包
安装需要的依赖包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1.4 配置yum安装源为阿里云提供的yum源
# 添加官方yum源,速度非常慢,不推荐, 非常容易超时
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 这里修改为阿里云的yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
把远程服务器的包信息下载下来缓存到本地
yum makecache
1.5 安装docker
yum命令默认安装最新的稳定版本
sudo yum install docker-ce docker-ce-cli containerd.io
如果需要指定安装版本,可以先看看本地的缓存包都有哪些版本
yum list docker-ce --showduplicates | sort -r
# 指定版本安装的命令
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
# 示例如下:指定安装dockerde 18.09.0版本
sudo yum install docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io
yum 安装的好处在于默认为我们将docker加入到系统服务之中, 我们只要简单的通过systemctl命令就可以启动、停止、重启、查看docker的运行状态
1.6 使用systemctl管理docker的常用命令
# 设置docker服务开机自启
systemctl enable docker
# 启动docker服务
systemctl start docker
# 停止docker服务
systemctl stop docker
# 重启docker服务
systemctl restart docker
# 查询docker服务状态
systemctl status docker
systemctl status docker -l
1.7 验证docker服务安装是否正常
docker服务提供一个一个测试镜像hello-world, 我们可以通过这个镜像来进行检查测试
sudo docker run hello-world
2、Docker rpm包方式安装详解
因为生产环境一般部署都会制定安装版本, 有可能会出现已经安装了某个高版本或者低版本,这个时候我们就需要先删除在安装,所以这里都是先删除旧版,重新安装我们的版本。
2.1 检查服务器上是否安装过docker,如果安装了,先卸载旧版本
# 检查是否已经安装了docker
rpm -qa | grep -i docker
2.2 停止运行docker,删除运行的dcoker
# 停止docker
systemctl stop docker
2.3 删除docker相关的包
rpm -e docker-ce-cli-20.10.17-3.el7.x86_64
rpm -e docker-ce-rootless-extras-20.10.17-3.el7.x86_64
rpm -e docker-ce-20.10.17-3.el7.x86_64
rpm -e docker-scan-plugin-0.17.0-3.el7.x86_64
2.4 删除docker相关的目录和文件
# 查找系统中所有与docker相关的目录和文件 找到之后将这个目录和文件都删除
find / -name docker
2.5 删除docker配置文件目录
rm -rf /etc/docker
2.6 检查docker是否已经完全删除
# 检查是否已经安装了docker
rpm -qa | grep -i docker
2.7 下载docker的rpm包
docker官网地址 :
https://download.docker.com/linux/【需要自行选择操作系统、版本号以及docker的版本号】
当前下载版本:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-20.10.9-3.el7.x86_64.rpm
# 创建安装包保存目录
mkdir -p /opt/packages
# 进入安装包保存目录
cd /opt/packages
# 下载docker的rpm包
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-20.10.9-3.el7.x86_64.rpm
2.8 docker安装
# 安装docker
yum install -y docker-ce-20.10.9-3.el7.x86_64.rpm
2.9 配置国内镜像
# 创建或修改 /etc/docker/daemon.json 文件,修改为如下形式
# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
如果需要配置成其他国内镜像源,可以参考这篇博客:
https://www.cnblogs.com/reasonzzy/p/11127359.html
2.10 使用systemctl管理docker的常用命令
# 设置docker服务开机自启
systemctl enable docker
# 启动docker服务
systemctl start docker
# 停止docker服务
systemctl stop docker
# 重启docker服务
systemctl restart docker
# 查询docker服务状态
systemctl status docker
systemctl status docker -l
2.11 验证docker服务安装是否正常
sudo docker run hello-world
3、脚本一键安装方式安装详解
# 下载一键安装脚本到服务器
curl -fsSL https://get.docker.com -o get-docker.sh
# 执行脚本进行安装即可,默认安装的是最新的稳定版本
sudo sh get-docker.sh
安装完成后需手动执行命令启动docker服务。
# 设置docker服务开机自启
systemctl enable docker
# 启动docker服务
systemctl start docker
4、docker的完全卸载
# 卸载已经安装的服务
sudo yum remove docker-ce docker-ce-cli containerd.io
# 删除本地残存文件
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/docker