使用国内镜像加速器办理 Docker Hub 拉取镜像慢或被屏蔽的题目 ...

打印 上一主题 下一主题

主题 922|帖子 922|积分 2766

一、题目配景

Docker Hub 是 Docker 默认的镜像堆栈,但由于网络限制,国内用户直接拉取镜像可能面对以下题目:

  • 下载速度极慢(尤其是大镜像)。
  • 连接超时或完全被屏蔽(部分网络环境)。
  • 依靠国外源的构建步骤失败(如 apt-get、pip 等)。
办理方案:使用国内镜像加速器,将 Docker 请求署理到国内服务器,提升下载速度并制止网络限制。

二、主流国内镜像加速器列表

服务商加速器地点备注阿里云https://<你的ID>.mirror.aliyuncs.com需注册阿里云账号,免费获取个人专属加速地点。腾讯云https://mirror.ccs.tencentyun.com无需登录,直接使用。网易云https://hub-mirror.c.163.com公开可用,稳定性较高。中科大源https://docker.mirrors.ustc.edu.cn学术机构维护,适合教育网用户。
三、配置镜像加速器的具体步骤

1. 阿里云镜像加速器配置(推荐)

步骤 1:获取阿里云加速器地点

  • 访问 阿里云容器镜像服务控制台。
  • 登录阿里云账号,进入「镜像工具」→「镜像加速器」。
  • 复制专属加速器地点(形如 https://xxxxxx.mirror.aliyuncs.com)。
步骤 2:配置 Docker 使用加速器


  • Linux 系统(Ubuntu/CentOS 等)

    • 编辑 Docker 配置文件:
      1. sudo vim /etc/docker/daemon.json
      复制代码
    • 添加以下内容(若文件不存在则新建):
      1. {
      2.   "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
      3. }
      复制代码
    • 重启 Docker 服务:
      1. sudo systemctl daemon-reload
      2. sudo systemctl restart docker
      复制代码

  • Windows/macOS(Docker Desktop)

    • 右键点击 Docker 托盘图标 → SettingsDocker Engine
    • 在配置文件中添加 registry-mirrors 字段:
      1. {
      2.   "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"],
      3.   "experimental": false
      4. }
      复制代码
    • 点击 Apply & Restart 重启 Docker。

2. 其他镜像加速器配置(如腾讯云、网易云)



  • 方法同上,只需替换 registry-mirrors 地点:
    1. {
    2.   "registry-mirrors": ["https://mirror.ccs.tencentyun.com", "https://hub-mirror.c.163.com"]
    3. }
    复制代码

四、验证镜像加速器是否见效


  • 检察 Docker 配置
    1. docker info | grep "Registry Mirrors"
    复制代码
    输出应包罗配置的镜像加速器地点:
    1. Registry Mirrors:
    2. https://xxxxxx.mirror.aliyuncs.com/
    复制代码
  • 拉取镜像测试速度
    1. docker pull ubuntu:22.04
    复制代码
    观察下载速度,正常情况应显著快于未配置加速器时。

五、进阶优化:替换 Dockerfile 中的包管理源

镜像加速器仅署理 Docker Hub 的镜像拉取,若构建镜像时需要从 apt、pip 等工具下载依靠,仍需替换为国内源。
1. 在 Dockerfile 中替换 APT 源(Ubuntu)

  1. FROM ubuntu:22.04
  2. # 替换为阿里云 APT 源
  3. RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \
  4.     && sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \
  5.     && apt-get update
复制代码
2. 在 Dockerfile 中替换 PIP 源(Python)

  1. FROM python:3.9-slim
  2. # 替换为清华 PyPI 源
  3. RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
3. 在 Dockerfile 中替换 NPM 源(Node.js)

  1. FROM node:16
  2. # 替换为淘宝 NPM 源
  3. RUN npm config set registry https://registry.npmmirror.com
复制代码

六、常见题目与办理方案

题目征象缘故原由与办理方案配置后无法启动 Docker查抄 /etc/docker/daemon.json 格式是否正确(JSON 语法)。镜像拉取速度仍慢实验更换其他镜像加速器地点(如腾讯云、网易云)。docker pull 报错 TLS handshake timeout网络不稳定,查抄防火墙或 VPN 设置,或使用 --network host 临时绕过限制。部分镜像无法拉取某些镜像可能不在加速器缓存中,实验直接指定官方地点:docker pull docker.io/library/ubuntu:22.04。
七、替代方案:使用私有镜像堆栈

如果镜像加速器仍不稳定,可自建私有堆栈(如 Harbor)或使用企业级服务。
1. 搭建 Harbor 私有堆栈


  • 下载并安装 Harbor:
    1. wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz
    2. tar -xzf harbor-offline-installer-v2.5.0.tgz
    3. cd harbor
    复制代码
  • 修改 harbor.yml 配置:
    1. hostname: your-local-ip  # 本地服务器 IP 或域名
    2. http:
    3.   port: 80
    复制代码
  • 启动 Harbor:
    1. sudo ./install.sh
    复制代码
2. 推送镜像到 Harbor

  1. docker tag ubuntu:22.04 your-local-ip/library/ubuntu:22.04
  2. docker push your-local-ip/library/ubuntu:22.04
复制代码
3. 从 Harbor 拉取镜像

  1. docker pull your-local-ip/library/ubuntu:22.04
复制代码

八、总结

通过配置国内镜像加速器,可显著提升 Docker 镜像的拉取速度,并规避网络限制。核心步骤如下:

  • 选择加速器:优先使用阿里云(需注册)或腾讯云、网易云(免登录)。
  • 配置 Docker:修改 daemon.json 并重启服务。
  • 验证见效:通过 docker info 和拉取测试镜像确认。
  • 优化构建:在 Dockerfile 中替换包管理源(APT/PIP/NPM)。
  • 高级方案:自建 Harbor 私有堆栈实现完全当地化。
关键配置文件


  • Docker 镜像加速器配置:/etc/docker/daemon.json(Linux)或 Docker Desktop 设置文件。
  • Harbor 私有堆栈配置:harbor.yml。
常用下令
  1. # 检察镜像加速器配置docker info | grep "Registry Mirrors"
  2. # 逼迫重修镜像(清算缓存)docker build --no-cache -t my-app:1.0 .# 清算无用的镜像和容器docker system prune -a
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

鼠扑

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表