关于CentOS 7安装Docker CE遇到的一些问题
·
一、准备工作 (以下记录基于本地yum仓库操作,一开始忘记更新为在线源)
- 卸载旧版本Docker(如存在)
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 更新系统包并安装必要依赖(指的是一个项目(或软件)正常运行所必须依赖的外部代码库、框架、工具或模块)
yum install -y yum-utils device-mapper-persistent-data lvm2
二、配置Docker CE的Yum仓库
- 添加Docker官方Yum仓库源(为了获得最新、最安全、功能最完整的Docker版本,并简化后续的维护和更新工作)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 可选:配置国内镜像加速仓库(如阿里云、腾讯云)
三、安装Docker CE
- 通过Yum安装最新版Docker CE
yum install -y docker-ce docker-ce-cli containerd.io
3.1 报错:网络连接问题,无法从Docker官方仓库下载软件包

- 解决方案1:使用国内镜像源
# 删除刚才添加的Docker官方仓库
rm -f /etc/yum.repos.d/docker-ce.repo
# 添加阿里云Docker镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新yum缓存
yum clean all
yum makecache
# 安装Docker
yum install -y docker-ce docker-ce-cli containerd.io
3.2 报错:缺少 container-selinux 和其他依赖包(在CentOS 7本地仓库中可能没有,更新本地仓库后还是缺少依赖)

四、更换为之前备份目录中的在线仓库
- 本地仓库

- 在线仓库

4.1 清理并创建缓存后再次安装Docker CE
yum clean all && yum makecache
yum install -y docker-ce docker-ce-cli containerd.io

4.2 基本安装成功,只是报错docker-compose-plugin下载失败(由于这个插件是可选的,可以先完成安装)

错误说明本地仓库(local)已经被禁用或者不存在了,现在可以直接安装Docker了
4.3 再次安装
# 现在可以直接安装,不需要--disablerepo参数了
yum install -y docker-ce docker-ce-cli containerd.io
五、启动并验证Docker服务
- 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker
- 验证安装
docker --version
docker run hello-world
5.1 报错:网络连接问题导致无法下载hello-world镜像

- ping了一下docker官方仓库,丢包大,域名改为8.8.8.8在试一下也还是不行

5.2 配置国内镜像加速器
# 创建Docker配置目录
mkdir -p /etc/docker
# 配置多个国内镜像源
cat > /etc/docker/daemon.json << 'EOF'
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://registry.docker-cn.com",
"https://mirror.ccs.tencentyun.com"
]
}
EOF
5.2.1 docker拉取镜像测试报错:输出显示连接问题

- 测试环境防火墙已关闭
- ping registry-1.docker.io 发现ping不通
- 尝试换一个国内镜像
5.2.2 更换DaoCloud 镜像加速器
vim /etc/docker/daemon.json
删除原配置,更换以下配置:
{
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
}
- 重启 Docker 服务:
systemctl daemon-reload
systemctl restart docker
- 验证配置:
docker info | grep -A 5 "Registry Mirrors"
- 测试拉取镜像:
docker pull nginx
拉取成功

且网络连通性良好

更多推荐
所有评论(0)