centos7.x及centos8.x安装新版docker

前置步骤

# 如之前安装过docker,请先删除 yum remove docker docker-common docker-selinux docker-engine 

centos7

# centos7 # 先配阿里源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup  curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo  ## 安装一些必要的系统工具 yum install -y yum-utils device-mapper-persistent-data lvm2  # 添加软件源信息 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+' /etc/yum.repos.d/docker-ce.repo  # 更新并安装docker-ce yum makecache fast # 查找docker-ce版本 yum list docker-ce.x86_64 --showduplicates | sort -r # 这边安装指定版本,这边需要注意的是官网上面是只说在docker-ce后面加上指定的版本号,其实还需要在后面加上.x86_64,不然会安装不成功 yum install docker-ce-3:19.03.15-3.el8.x86_64 docker-ce-cli-3:19.03.15-3.el8.x86_64 containerd.io  # 启动 systemctl start docker  # 启动时报错Failed to start docker.service: Unit not found.解决办法 # 网址https://stackoverflow.com/questions/43569781/unable-to-start-docker-service-with-error-failed-to-start-docker-service-unit curl -sSL https://get.docker.com/ | sh   # 配置镜像加速 # 可以在阿里云搜索容器镜像服务开通自己的个人镜像加速 mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { 	registry-mirrors:[https://xxxxxx.mirror.aliyuncs.com]    // 这边改为你自己阿里云镜像加速地址 } EOF  # 加载配置重启docker systemctl daemon-reload systemctl restart docker systemctl enable docker  

centos8.x

# 安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2  # 下载repo文件 wget -O /etc/yum.repos.d/docker-ce.repo https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo  # 替换软件仓库地址 sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo  # 更新索引文件并安装 yum makecache yum install docker-ce    // 指定版本,直接安装最新的,如指定版本  可以参考上面centos7安装docker指定版本  # 启动 systemctl start docker  # 配置镜像加速 # 可以在阿里云搜索容器镜像服务开通自己的个人镜像加速 mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { 	registry-mirrors:[https://xxxxxx.mirror.aliyuncs.com]    // 这边改为你自己阿里云镜像加速地址 } EOF  # 加载配置重启docker systemctl daemon-reload systemctl restart docker systemctl enable docker