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

发布于:2024-09-18 ⋅ 阅读:(181) ⋅ 点赞:(0)

一 配置阿里云的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 镜像的下载速度,解决下载慢的问题。


网站公告

今日签到

点亮在社区的每一天
去签到