#如果安装过docker 先卸载docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
#使用yum安装
sudo yum install -y yum-utils
#由于国内网络问题,添加国内yum源
sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
#安装containerd.io
根据版本选择一个:
1.  yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm
2.  yum install https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.4.3-3.1.el8.x86_64.rpm

#查看可安装的docker 版本
sudo yum list docker-ce --showduplicates | sort -r
#安装docker-ce
sudo yum install docker-ce-3:20.10.1-3.el7

#由于 CentOS8 防火墙使用了 nftables,但 Docker 尚未支持 nftables, 我们可以使用如下设置使用 iptables:
#更改 /etc/firewalld/firewalld.conf 
FirewallBackend=iptables
#或者执行:
firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --reload

#启动docker
sudo systemctl enable docker
sudo systemctl start docker

#配置docker 加速镜像
#请首先执行以下命令,查看是否在 docker.service 文件中配置过镜像地址。
 systemctl cat docker | grep '\-\-registry\-mirror'
#如果该命令有输出,那么请执行 $ systemctl cat docker 查看 ExecStart= 出现的位置,修改对应的文件内容去掉 --registry-mirror 参数及其值,并按接下来的步骤进行配置。

#如果以上命令没有任何输出,那么就可以在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
# 阿里云的用前两个。腾讯云的服务器 把第三个放最上面。 ***差别很大
{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
      "https://mirror.ccs.tencentyun.com"
  ]
}

#接着重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker

#查看是否设置成功:
docker info
#在显示的信息中找到 Registry Mirrors: