CentOS 7系统中安装Docker的流程及YUM安装报错处理

在CentOS 7系统中安装Docker

修改网络适配器名称

在开始安装之前,可能需要先调整系统的网络设置以避免潜在冲突。可以通过编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件来完成这一操作。

配置YUM源

为了确保能够顺利获取最新的软件包,建议替换默认的YUM源为更稳定的第三方镜像源。以下是具体的操作方法:

  1. 进入YUM源目录

    cd /etc/yum.repos.d/
    
  2. 备份原始配置文件

    mv CentOS-Base.repo CentOS-Base.repo.backup
    
  3. 下载新的YUM源配置文件(如网易163镜像)

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
    
  4. 清理并重建缓存

    yum clean all && yum makecache
    

通过以上步骤可以显著提升后续安装过程的速度和稳定性。

卸载旧版Docker(如果存在)

如果有之前的Docker版本已安装,则需先行卸载以免造成兼容性问题。

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

此步并非强制执行项,仅当检测到有遗留数据时才推荐运行。

安装必要工具与库支持

利用yum-utils管理插件可以帮助我们更好地控制存储库选项。

yum install -y yum-utils device-mapper-persistent-data lvm2

接着添加来自官方或者可信第三方维护者所提供的专用仓库链接地址作为补充来源之一。

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

这里也可以替换成国内加速站点比如阿里云提供的服务路径:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
正式安装Docker CE套件集合

一旦准备工作就绪之后就可以正式发起对于目标程序主体部分以及关联子模块的同时请求下达指令如下所示:

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

这一步骤将会自动解析依赖关系并将所有必需组件一并拉取下来予以本地化部署到位.

初始化启动服务进程并与系统引导机制绑定在一起

最后别忘了激活后台守护线程使其处于随时待命状态之外还要记得开启随主机重启而自行恢复运作的功能特性开关设定才行哦~

systemctl start docker
systemctl enable docker

验证当前所处环境下的实际状况是否正常运转良好无误的话, 可尝试调用内置帮助文档查看基本信息概览情况.

docker info
docker version

至此整个流程便宣告顺利完成啦!


在使用 YUM 安装 Docker 时,如果遇到如下报错信息:

failure: repodata/repomd.xml from docker-ce-stable: [Errno 256] No more mirrors to try.
https://download.docker.com/linux/centos/7/x86_64/stable/repodata/repomd.xml: [Errno 14] curl#35 - TCP connection reset by peer

这表明在尝试从官方源或镜像源下载 repodata/repomd.xml 文件时发生了网络连接异常,导致无法继续安装 Docker。此类问题可能由多种原因引发,包括但不限于网络连接不稳定、SSL/TLS证书问题、DNS解析异常或镜像源本身不可用等。


诊断与解决方法

1. 检查网络连接

确保服务器可以正常访问外部网络,尤其是能够访问 https://download.docker.com。可以通过以下命令测试网络连通性:

ping download.docker.com
curl -v https://download.docker.com

若发现网络不通,则需要检查服务器的网络配置、防火墙规则或代理设置。

2. 更换镜像源

由于官方源可能因地域或网络策略问题访问受限,建议更换为国内镜像源(如阿里云、清华大学镜像站等)以提高访问稳定性。以阿里云为例,可以执行以下命令:

sudo sed -i 's#https://download.docker.com#https://mirrors.aliyun.com/docker-ce#g' /etc/yum.repos.d/docker-ce.repo

替换完成后,清理缓存并重建 YUM 缓存:

sudo yum clean all
sudo yum makecache fast

若遇到证书问题(如 curl#60 - "Peer's certificate issuer has been marked as not trusted"),可以尝试将 HTTPS 替换为 HTTP(仅限测试环境):

sudo sed -i 's#https://mirrors.aliyun.com#http://mirrors.aliyun.com#g' /etc/yum.repos.d/docker-ce.repo

然后再次清理缓存和重建缓存:

sudo yum clean all
sudo yum makecache fast
3. 更新系统时间与证书

系统时间不准确可能导致 SSL/TLS 握手失败。使用以下命令同步系统时间:

sudo yum install -y ntp
sudo ntpdate pool.ntp.org

同时,确保系统的 CA 证书是最新的:

sudo yum install -y ca-certificates
sudo update-ca-trust
4. 手动下载元数据文件

如果上述方法无效,可以尝试手动下载 repodata/repomd.xml 文件并放置到本地缓存目录中:

mkdir -p /var/cache/yum/x86_64/7/docker-ce-stable
cd /var/cache/yum/x86_64/7/docker-ce-stable
curl -O https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/repodata/repomd.xml

然后执行:

sudo yum makecache fast
5. 删除并重新添加 Docker 仓库

如果 docker-ce.repo 文件已损坏或配置错误,可以删除该文件并重新添加 Docker 官方仓库:

sudo rm -rf /etc/yum.repos.d/docker-ce.repo
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

之后再次尝试更新缓存:

sudo yum clean all
sudo yum makecache fast

总结

  • 网络连接异常或镜像源不可达是导致 repodata/repomd.xml 下载失败的主要原因。
  • 更换为国内镜像源(如阿里云)可显著提高下载成功率。
  • 若遇到证书问题,可临时切换为 HTTP 协议或更新系统证书。
  • 清理 YUM 缓存、同步系统时间、手动下载元数据文件等方法也常用于解决此类问题。

本文章仅在学习记录使用,如有侵权请联系删除,也还请各位大佬多多指教。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值