虚拟机中Linux系统(CentOS7)安装docker遇到的问题
之前在虚拟机中的Linux系统(CentOS 7)安装 Docker 时遇到了一个问题,在安装**yum-utils、**lvm2**时报了错误:如下图所示:这个错误表明yum无法连接到 CentOS 默认仓库的 mirrorlist.centos.org,并且没有找到有效的 baseurl。通常出现问题的原因是。
之前在虚拟机中的Linux系统(CentOS 7)安装 Docker 时遇到了一个问题,在安装 yum-utils
、device-mapper-persistent-data
、lvm2
时报了错误:如下图所示:
这个错误表明yum无法连接到 CentOS 默认仓库的 mirrorlist.centos.org,并且没有找到有效的 baseurl。错误的关键部分是:最后一行话:Cannot find a valid baseurl for repo:base/7/x86_64
通常出现问题的原因是
- DNS 配置问题 - 系统无法解析
mirrorlist.centos.org
这个域名。 - 仓库源配置问题 - CentOS 的默认仓库源可能不可用,或已过时。
解决方案:
-
检查网络连接是否正常,可以通过ping 百度或新浪网进行验证
如果可以ping通 收到回复则表示网络连接正常
如果无法ping通 首先检查是否是DNS配置问题,如果是DNS配置问题,可以修改DNS的配置,这个文件 位于这个目录下/etc/sysconfig/network-scripts。
在/etc/sysconfig/network-scripts目录下找到ifcfg-ens33文件,然后添加DNS是配置,添加完成保存后,使用service network restart命令重启网络服务即可。
-
如果确定网络可以正常连接, 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
-
更改完成后使用cd命令切换到/etc/yum.repos.d/目录下 使用cat CentOS-Base.repo查看镜像源地址是否修改成功
-
如果镜像源修改成功,执行yum clean all清除原有 yum 缓存
-
执行yum makecache(刷新缓存)或者yum repolist all(查看所有配置可以使用的文件,会自动刷新缓存)。
-
运行yum install -y yum-utils device-mapper-persistent-data lvm2 重新安装,安装成功的效果如下图:
-
下载docker-ce 可以通过yum list docker-ce --showduplicates | sort -r命令查看现有的版本
注意从18.09版本开始前面都是"3:"开头,这里版本号只要"3:"后面的那部分
-
如果使用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
-
安装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
-
安装成功后,进行相关的验证
# 启动docker服务 并设置为开机自启 sudo systemctl start docker sudo systemctl enable docker # 验证安装 sudo systemctl status docker
如下图所示:docker启动后,输入sudo systemctl status docker命令 可以看到docker的是(active(running))正在运行中
-
安装完成后,需要设置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
更多推荐
所有评论(0)