您的位置:首页 > 文旅 > 旅游 > Centos使用阿里云镜像安装docker及docker hub下载失败解决方案

Centos使用阿里云镜像安装docker及docker hub下载失败解决方案

2024/12/23 9:41:00 来源:https://blog.csdn.net/print_helloword/article/details/142068925  浏览:    关键词:Centos使用阿里云镜像安装docker及docker hub下载失败解决方案

一 配置阿里云的Yum镜像源

配置阿里云的Yum镜像源可以提高下载速度,尤其是在国内网络环境下。以下是配置阿里云Yum镜像源的步骤:

1. 备份原有的Yum源配置文件

首先,备份系统现有的Yum源配置文件,以防出现问题时可以还原:

sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

2. 下载阿里云的Yum源配置文件

接下来,下载阿里云提供的CentOS镜像源配置文件。根据你的CentOS版本(如7),使用以下命令:

CentOS 7:
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
CentOS 8:
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

3. 清理并重新生成Yum缓存

下载完阿里云的源文件后,清理旧的Yum缓存并重新生成新的缓存:

sudo yum clean all
sudo yum makecache

4. 验证配置

运行以下命令查看Yum仓库是否配置正确,并确保阿里云源已经启用:

yum repolist

这将列出所有已启用的仓库,确认输出结果中有阿里云的镜像源。

5. 更新系统(可选)

如果阿里云的源已经配置成功,你可以更新系统以确保所有软件包来自阿里云的镜像源:

sudo yum update -y

6. 手动编辑 .repo 文件(可选)

如果你想手动编辑或调整配置文件,可以打开 /etc/yum.repos.d/CentOS-Base.repo 文件进行修改:

sudo vi /etc/yum.repos.d/CentOS-Base.repo

确保 baseurl 指向的是阿里云的镜像地址,类似如下:

[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

通过这些步骤,你应该可以成功配置阿里云的Yum镜像源,提高在国内使用CentOS的下载速度和软件包管理效率。

二 通过阿里云镜像源安装Docker

以下是在CentOS 7上使用阿里云镜像源安装Docker的步骤:

1. 设置阿里云的Docker仓库

首先,需要将阿里云的Docker镜像源配置到你的系统中。

  1. 创建Docker的Yum仓库配置文件:

    sudo vi /etc/yum.repos.d/docker.repo
    
  2. 在文件中添加以下内容(阿里云的Docker镜像源):

    [docker-ce-stable]
    name=Docker CE Stable - $basearch
    baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stable
    enabled=1
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
    
  3. 保存并退出文件。

2. 安装Docker依赖

安装一些必要的依赖包:

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

3. 安装Docker CE

使用以下命令从阿里云镜像源安装Docker CE(社区版):

sudo yum install docker-ce docker-ce-cli containerd.io

4. 启动Docker服务

安装完成后,启动Docker并设置为开机自启动:

sudo systemctl start docker
sudo systemctl enable docker

5. 验证Docker安装

运行以下命令确认Docker是否正确安装:

docker --version

6. 测试Docker

使用官方的 hello-world 容器来测试Docker是否正常运行:

sudo docker run hello-world

如果输出 Hello from Docker!,则说明Docker安装成功并正常工作。

7. 配置非root用户使用Docker(可选)

  1. 将当前用户添加到 docker 用户组:

    sudo usermod -aG docker $(whoami)
    
  2. 重新登录或注销再登录。

  3. 验证非root用户是否可以运行Docker:

    docker ps
    

总结

通过阿里云的镜像源安装Docker,不仅可以加速下载速度,还能确保稳定性。通过以上步骤,你可以在CentOS 7上成功安装并配置Docker。

三 Docker Hub下载速度慢的解决方案

1. 配置 Docker 国内镜像加速器

国内的一些云服务商提供了 Docker 镜像加速器,可以加速从 Docker Hub 拉取镜像。以下是几家常用的镜像加速器及其配置方法:

阿里云镜像加速器

在这里插入图片描述

  1. 登录阿里云容器镜像服务(ACR)控制台,找到 镜像加速器 页面。

  2. 获取你专属的加速器地址,类似于 https://<your-region>.mirror.aliyuncs.com

  3. 编辑 /etc/docker/daemon.json 文件(如果文件不存在,手动创建)。

    sudo vi /etc/docker/daemon.json
    
  4. 添加以下内容,将 <your-region> 替换为你从阿里云获取的镜像加速器地址:

    {"registry-mirrors": ["https://<your-region>.mirror.aliyuncs.com"]
    }
    
  5. 保存文件并重新启动 Docker:

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
  6. 验证是否成功配置镜像加速器:

    docker info
    

    你应该能在输出中看到 Registry Mirrors 部分显示为你配置的加速器地址。

网易云镜像加速器
  1. 编辑 /etc/docker/daemon.json

    sudo vi /etc/docker/daemon.json
    
  2. 添加网易云镜像加速器地址:

    {"registry-mirrors": ["https://hub-mirror.c.163.com"]
    }
    
  3. 重新启动 Docker:

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
中国科技大学(USTC)镜像加速器
  1. 编辑 /etc/docker/daemon.json

    sudo vi /etc/docker/daemon.json
    
  2. 添加 USTC 镜像加速器地址:

    {"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
    }
    
  3. 重新启动 Docker:

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
DaoCloud 镜像加速器
  1. 编辑 /etc/docker/daemon.json

    sudo vi /etc/docker/daemon.json
    
  2. 添加 DaoCloud 镜像加速器地址:

    {"registry-mirrors": ["https://f1361db2.m.daocloud.io"]
    }
    
  3. 重新启动 Docker:

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

2. 手动下载 Docker 镜像

如果加速器仍然不能满足你的需求,你可以通过其他网络环境较好的机器手动下载镜像,并通过 docker savedocker load 命令在不同机器间传递镜像。

手动下载并导出镜像:
  1. 在网络较好的机器上使用 Docker 命令拉取镜像:

    docker pull <image-name>
    
  2. 导出镜像为 tar 文件:

    docker save -o <image-name>.tar <image-name>
    
  3. 将导出的镜像文件传输到目标机器(例如通过 scp 或者 rsync)。

  4. 在目标机器上使用 docker load 导入镜像:

    docker load -i <image-name>.tar
    

3. 切换到其他网络

如果镜像加速器和手动下载都无法满足需求,可能是由于当前网络环境的问题。可以尝试使用更稳定、速度更快的网络。换网络确实有用,亲测!(无线网更换为个人热点,可能我无线网太差了)

4. 订阅阿里云 ACR 的海外镜像源

如果你使用阿里云 ACR,阿里云支持订阅 Docker Hub 的海外源镜像,直接从 ACR 中拉取镜像,而不是直接访问 Docker Hub。这是另一种提升镜像拉取速度的方式,尤其是在企业级环境中。

5. 使用代理加速

可以配置 HTTP 代理或 VPN 加速网络访问,尤其是在访问 Docker Hub 的网络环境较差时,这种方法可以有效提升速度。

配置 Docker 使用 HTTP 代理:
  1. 编辑 Docker 的 systemd 配置文件:

    sudo mkdir -p /etc/systemd/system/docker.service.d
    sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf
    
  2. 添加以下内容,替换 <proxy-address> 为你的代理地址:

    [Service]
    Environment="HTTP_PROXY=http://<proxy-address>:<port>"
    Environment="HTTPS_PROXY=http://<proxy-address>:<port>"
    
  3. 重新加载 systemd 并重启 Docker:

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

总结

  1. 配置国内的 Docker 镜像加速器(阿里云、网易云、USTC、DaoCloud 等)。
  2. 手动在网络较好的环境下载 Docker 镜像并传输到目标机器。
  3. 切换到更稳定的网络环境或配置代理加速。
  4. 使用阿里云 ACR 的海外镜像源功能订阅 Docker Hub 镜像。

这些方法都可以有效加快 Docker Hub 镜像的下载速度,解决下载慢的问题。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com