CentOS8安装docker时候报错,错误:为仓库‘base‘下载元数据失败Cannnot download repomd.xml:Cannot download repodata/repomd.

CentOS8安装docker时候报错,错误:为仓库'base'下载元数据失败Cannnot download repomd.xml:Cannot download repodata/repomd.xml: All mirrors were tried且后续无法安装docker-ce

错误提示

在虚拟机CentOS8上安装docker时候报错
在执行命令时候报错:

yum install -y yum-utils

错误:为仓库’base’下载元数据失败Cannnot download repomd.xml:Cannot download repodata/repomd.xml: All mirrors were tried
请添加图片描述
并且在后续安装docker-ce时候也报错
错误:没有可用软件包 docker-ce。

在网上找了很多方法,有的说是在/etc/yum.repos中更新repos.d使用vault.centos.org代替mirror.centos.org,但是尝试了之后仍然是错误的,最后终于在阿里云官网里找到解决方案了。

解决方案

CentOS 8操作系统版本结束了生命周期(EOL),Linux社区已不再维护该操作系统版本。CentOS 8的源地址http://mirror.centos.org/centos/8/内容已移除,目前第三方的镜像站中均已移除CentOS 8的源。阿里云的源http://mirrors.cloud.aliyuncs.com和http://mirrors.aliyun.com也无法同步到CentOS 8的源
以下是解决方案:

  • yum源:专有网络VPC类型实例需切换为http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111源。
  • epel源:专有网络VPC类型实例需切换为http://mirrors.cloud.aliyuncs.com/epel-archive/8/源。
  1. 运行以下命令备份之前的repo文件

rename ‘.repo’ ‘.repo.bak’ /etc/yum.repos.d/*.repo

  1. 运行以下命令下载最新的repo文件。

wget https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo -O /etc/yum.repos.d/Centos-vault-8.5.2111.repo

wget https://mirrors.aliyun.com/repo/epel-archive-8.repo -O /etc/yum.repos.d/epel-archive-8.repo

  1. 运行以下命令替换repo文件中的链接。

sed -i ‘s/mirrors.cloud.aliyuncs.com/url_tmp/g’ /etc/yum.repos.d/Centos-vault-8.5.2111.repo && sed -i ‘s/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/g’ /etc/yum.repos.d/Centos-vault-8.5.2111.repo && sed -i ‘s/url_tmp/mirrors.aliyun.com/g’ /etc/yum.repos.d/Centos-vault-8.5.2111.repo

sed -i ‘s/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/g’ /etc/yum.repos.d/epel-archive-8.repo

  1. 运行以下命令重新创建缓存。

yum clean all && yum makecache

  1. yum源和epel源切换完成后,即可使用yum install命令在实例上安装您所需要的软件包。
    这是我成功的界面:
    请添加图片描述

原文链接

安装docker

  1. 查看安装过的包:

yum list installed | grep docker

  1. 如果之前安装过旧版本的Docker,可以使用下面命令卸载:

yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce

  1. 安装docker

yum install -y yum-utils \
device-mapper-persistent-data
lvm2 --skip-broken

  1. 更新本地镜像源

# 设置docker镜像源
sudo sed -i -e
“s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g”
/etc/yum.repos.d/CentOS-*

  1. 查看可安装的版本

yum list docker-ce --showduplicates | sort -r

  1. 安装指定版本

yum install -y docker-ce-20.10.6-3.el7

  1. 安装最新版本:

yum install -y docker-ce

docker-ce为社区免费版本。稍等片刻,docker即可安装成功。

启动docker

  1. 启动docker前,一定要关闭防火墙后!!

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

  1. 通过命令启动docker:

systemctl start docker # 启动docker服务

systemctl stop docker # 停止docker服务

systemctl restart docker # 重启docker服务

  1. 然后输入命令,可以查看docker版本:

docker -v

  1. 然后输入命令,可以查看docker运行状态

systemctl status docker

请添加图片描述


版权声明:本文为qq_34306228原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。