之前在虚拟机中的Linux系统(CentOS 7)安装 Docker 时遇到了一个问题,在安装 yum-utilsdevice-mapper-persistent-datalvm2时报了错误:如下图所示:

在这里插入图片描述

这个错误表明yum无法连接到 CentOS 默认仓库的 mirrorlist.centos.org,并且没有找到有效的 baseurl。错误的关键部分是:最后一行话:Cannot find a valid baseurl for repo:base/7/x86_64

通常出现问题的原因是

  1. DNS 配置问题 - 系统无法解析 mirrorlist.centos.org 这个域名。
  2. 仓库源配置问题 - CentOS 的默认仓库源可能不可用,或已过时。

解决方案:

  1. 检查网络连接是否正常,可以通过ping 百度或新浪网进行验证
    如果可以ping通 收到回复则表示网络连接正常
    在这里插入图片描述

    如果无法ping通 首先检查是否是DNS配置问题,如果是DNS配置问题,可以修改DNS的配置,这个文件 位于这个目录下/etc/sysconfig/network-scripts。

    在/etc/sysconfig/network-scripts目录下找到ifcfg-ens33文件,然后添加DNS是配置,添加完成保存后,使用service network restart命令重启网络服务即可。

    在这里插入图片描述

  2. 如果确定网络可以正常连接, DNS 配置正常,但仍无法访问 CentOS 的默认镜像源,可以修改镜像为国内镜像源
    (1)更改前首先对原来的镜像源文件进行一个备份,防止更改镜像源后出现问题无法恢复。

    cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
    

    (2)更改镜像源(下面提供阿里和华为的镜像源)

    # 下载阿里镜像源
    wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    # 如果出现 -bash: wget: 未找到命令 表示系统中没有安装 wget 命令。wget 是一个常用的命令行下载工具,但在某些 Linux 发行版上可能并没有默认安装。
    # 解决的办法是安装wget 或者 使用下面的命令进行更改
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    

    更具体的可以查看阿里云的开发者社区,社区网址:https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11lrCqZP

    # 下载华为云镜像
    wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-7-anon.repo
    # 或
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-7-anon.repo
    

    华为云开发者社区网址:https://mirrors.huaweicloud.com/mirrorDetail/5ea14ecab05943f36fb75ee5?mirrorName=centos&catalog=os

  3. 更改完成后使用cd命令切换到/etc/yum.repos.d/目录下 使用cat CentOS-Base.repo查看镜像源地址是否修改成功

  4. 如果镜像源修改成功,执行yum clean all清除原有 yum 缓存

  5. 执行yum makecache(刷新缓存)或者yum repolist all(查看所有配置可以使用的文件,会自动刷新缓存)。

  6. 运行yum install -y yum-utils device-mapper-persistent-data lvm2 重新安装,安装成功的效果如下图:
    在这里插入图片描述

  7. 下载docker-ce 可以通过yum list docker-ce --showduplicates | sort -r命令查看现有的版本
    在这里插入图片描述
    注意从18.09版本开始前面都是"3:"开头,这里版本号只要"3:"后面的那部分

  8. 如果使用yum list docker-ce --showduplicates | sort -r 出现下面这个错误

    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    Error: No matching Packages to list
    

    可以通过下面的这三个命令解决这个问题

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum make
    sudo yum makecache
    
  9. 安装docker

    # 更新本地镜像源
    # 设置docker镜像源
    yum-config-manager \
        --add-repo \
        https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
        
    sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
    
    yum makecache fast
    
    # 默认安装最新版本
    yum install -y docker-ce
    # 安装指定版本 (这里作者安装的是20.10.0-3版本)
    # yum install -y docker-ce-<version>
    yum install -y docker-ce-20.10.0-3.el7
    

    在这里插入图片描述

  10. 安装成功后,进行相关的验证

    # 启动docker服务 并设置为开机自启
    sudo systemctl start docker
    sudo systemctl enable docker
    # 验证安装
    sudo systemctl status docker
    

    如下图所示:docker启动后,输入sudo systemctl status docker命令 可以看到docker的是(active(running))正在运行中

    在这里插入图片描述

  11. 安装完成后,需要设置docker的镜像源,否则无法拉取镜像,在 /etc/docker目录下 创建daemon.json文件,在这个文件中设置镜像源

    # 目前可以使用的镜像源(更新于2024年11月18日)
    tee /etc/docker/daemon.json <<-'EOF'
    {
    	 "registry-mirrors": [
    			"https://docker.1ms.run", 
    			"https://doublezonline.cloud", 
    			"https://dislabaiot.xyz", 
    			"https://docker.fxxk.dedyn.io", 
    			"https://dockerpull.org", 
    			"https://docker.unsee.tech", 
    			"https://hub.rat.dev", 
    			"https://docker.1panel.live", 
    			"https://docker.nastool.de", 
    			"https://docker.zhai.cm", 
    			"https://docker.5z5f.com", 
    			"https://a.ussh.net", 
    			"https://docker.udayun.com", 
    			"https://hub.geekery.cn" 
    	]
    }
    EOF
    

    设置完成后依次输入systemctl daemon-reload 和 systemctl restart docker命令即可。这两条命令分别是重新加载配置和重启docker

Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐