• 点击 Apply & Restart 重启 Docker。
  • 2. 其他镜像加速器配置(如腾讯云、网易云)

    四、验证镜像加速器是否生效
    1. 查看 Docker 配置

      docker info | grep "Registry Mirrors"
       class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
      • 1

      输出应包含配置的镜像加速器地址:

      Registry Mirrors:
       https://xxxxxx.mirror.aliyuncs.com/
       class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
      • 1
      • 2
    2. 拉取镜像测试速度

      docker pull ubuntu:22.04
       class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
      • 1

      观察下载速度,正常情况应显著快于未配置加速器时。


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

    镜像加速器仅代理 Docker Hub 的镜像拉取,若构建镜像时需要从 aptpip 等工具下载依赖,仍需替换为国内源。

    1. 在 Dockerfile 中替换 APT 源(Ubuntu)
    FROM ubuntu:22.04
    
    # 替换为阿里云 APT 源
    RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \
        && sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \
        && apt-get update
     class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
    2. 在 Dockerfile 中替换 PIP 源(Python)
    FROM python:3.9-slim
    
    # 替换为清华 PyPI 源
    RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
     class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
    3. 在 Dockerfile 中替换 NPM 源(Node.js)
    FROM node:16
    
    # 替换为淘宝 NPM 源
    RUN npm config set registry https://registry.npmmirror.com
     class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

    六、常见问题与解决方案
    class="table-box">
    问题现象原因与解决方案
    配置后无法启动 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 私有仓库
    1. 下载并安装 Harbor:
      wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz
      tar -xzf harbor-offline-installer-v2.5.0.tgz
      cd harbor
       class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
      • 1
      • 2
      • 3
    2. 修改 harbor.yml 配置:
      hostname: your-local-ip  # 本地服务器 IP 或域名
      http:
        port: 80
       class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
      • 1
      • 2
      • 3
    3. 启动 Harbor:
      sudo ./install.sh
       class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
      • 1
    2. 推送镜像到 Harbor
    docker tag ubuntu:22.04 your-local-ip/library/ubuntu:22.04
    docker push your-local-ip/library/ubuntu:22.04
     class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
    3. 从 Harbor 拉取镜像
    docker pull your-local-ip/library/ubuntu:22.04
     class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

    八、总结

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

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

    关键配置文件

    常用命令

    # 查看镜像加速器配置
    docker info | grep "Registry Mirrors"
    
    # 强制重建镜像(清理缓存)
    docker build --no-cache -t my-app:1.0 .
    
    # 清理无用的镜像和容器
    docker system prune -a
     class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
    注:本文转载自blog.csdn.net的由数入道的文章"https://blog.csdn.net/cxr828/article/details/145378058"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
    复制链接

    评论记录:

    未查询到任何数据!