前言:近期在 CentOS 7 系统中安装 Docker 时,参考了网上的标准教程,却反复遇到 "TCP 连接重置""插件包校验失败" 等报错。经过多次测试,发现问题根源在于官方源访问不稳定与特定插件兼容性问题。本文整理了一套经过验证的完整安装步骤,同时详细说明避坑要点,适合新手直接套用。
参考来源:本文基于 CSDN 博主「Cike___」的原创教程优化修正,原文链接:https://blog.csdn.net/Cike___/article/details/146415836
一、前置说明
- 适用系统:CentOS 7(64 位),其他 CentOS 版本步骤需微调
- 核心问题:原教程使用 Docker 官方源,国内访问易断连;强制安装的 docker-compose-plugin 插件在 CentOS 7 下存在校验不匹配问题
- 解决方案:替换为阿里云国内源 + 跳过故障插件,双管齐下确保安装成功
二、完整安装步骤
步骤 1:卸载旧版本 Docker(清理环境)
若系统中已安装旧版 Docker,需先彻底卸载,避免版本冲突:
bash
运行
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
说明:执行后若提示 "未安装匹配的软件包",说明系统无旧版 Docker,直接进入下一步即可。
步骤 2:安装必要依赖
安装 yum-utils 等依赖包,用于支持 Docker 存储库的配置:
bash
运行
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
等待执行完成,无报错即代表依赖安装成功。
步骤 3:配置 Docker 国内源(关键避坑点 1)
- ❌ 原教程问题:使用 Docker 官方源(https://download.docker.com/linux/centos/docker-ce.repo),国内访问不稳定,易出现 "TCP connection reset by peer" 报错
- ✅ 修正方案:替换为阿里云国内源,下载速度快且连接稳定:
bash
运行
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
执行成功后,会提示 "repo saved to /etc/yum.repos.d/docker-ce.repo"。
步骤 4:安装 Docker 核心引擎(关键避坑点 2)
- ❌ 原教程问题:直接执行 "yum install docker-ce docker-ce-cli containerd.io",会强制安装有兼容性问题的 docker-compose-plugin 插件,导致 "Header V4 RSA/SHA512 Signature NOKEY""Errno 256" 等校验报错
- ✅ 修正方案:添加 "--exclude=docker-compose-plugin" 参数,跳过故障插件(该插件非 Docker 核心组件,不影响基础功能使用):
bash
运行
sudo yum install docker-ce docker-ce-cli containerd.io --exclude=docker-compose-plugin
执行过程中会提示 "Is this ok [y/N]: ",输入 "y" 并回车,等待安装完成(耗时取决于网络速度,阿里云源一般 1-3 分钟)。
步骤 5:启动 Docker 服务并设置开机自启
- 启动 Docker 服务:
bash
运行
sudo systemctl start docker
- 设置开机自启(避免系统重启后 Docker 失效):
bash
运行
sudo systemctl enable docker
执行成功后,会提示 "Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service"。
步骤 6:验证安装是否成功
通过运行官方测试镜像 "hello-world",验证 Docker 是否正常工作:
bash
运行
sudo docker run hello-world
若终端输出以下内容,说明安装成功:
Hello from Docker!This message shows that your installation appears to be working correctly....
三、常见问题补充(可选)
问题 1:需要使用 docker-compose 功能怎么办?
因跳过了 docker-compose-plugin 插件,若后续需要 docker-compose,可通过 pip 安装(更稳定):
bash
运行
sudo yum install -y python3-pip
sudo pip3 install docker-compose
# 验证安装
docker-compose --version
问题 2:执行命令时提示 "sudo: 未找到命令"?
说明系统未安装 sudo,可先执行以下命令安装:
bash
运行
yum install -y sudo
问题 3:启动 Docker 时提示 "Job for docker.service failed"?
大概率是旧版 Docker 残留文件导致,执行以下命令清理后重新启动:
bash
运行
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo systemctl start docker
四、总结
CentOS 7 安装 Docker 的核心坑点是 "官方源不稳定" 和 "docker-compose-plugin 插件校验失败",只需通过 "替换阿里云源" 和 "跳过故障插件" 两个关键操作,就能顺利完成安装。