小白必备!镜像加速全指南:从概念到实操

1panel,飞牛看:https://blog.csdn.net/qq_35373754/article/details/149468608?spm=1011.2124.3001.6209

不要在生产环境进行,文章只进行指导,执行前应进行全局备份已便出错时回退

一、先搞懂:为什么需要镜像加速?

容器镜像就像「软件安装包」,但主流仓库(如 Docker Hub、GCR)多在海外,国内直接下载常遇到速度慢、超时失败的问题。

加速服务相当于「国内中转站」,把海外镜像缓存到国内节点,实现:

  • 下载速度提升 10-100 倍(例:Docker Hub 镜像从 20KB/s 变 2MB/s)

  • 降低跨国带宽消耗,节省服务器成本

  • 避免因网络波动导致的部署失败

二、实操指南:3 大场景配置步骤

场景 1:Docker 环境(最常用)

适用于 Windows、Mac、Linux,全局加速所有镜像拉取:

  1. 编辑配置文件
  • Linux/Mac:打开终端执行
sudo vim /etc/docker/daemon.json
  • Windows:打开 Docker Desktop → Settings → Docker Engine
  1. 添加加速配置

    复制以下内容(多源加速更稳定):

{

  "registry-mirrors": \[

    "https://hub.afmax.cn",  // Docker Hub加速

    "https://ghcr.afmax.cn", // GitHub镜像加速

    "https://mcr.afmax.cn"   // 微软镜像加速

  ]

}
  1. 生效配置
  • Linux/Mac:
sudo systemctl daemon-reload && sudo systemctl restart docker
  • Windows:点击「Apply & Restart」
  1. 验证是否成功

    执行docker info,若看到以下内容则生效:

Registry Mirrors:

  https://hub.afmax.cn/

  https://ghcr.afmax.cn/
场景 2:Kubernetes 集群搭建(用 kubeadm)

解决初始化时拉取 K8s 组件镜像失败问题:

  1. 生成默认配置
kubeadm config print init-defaults > kubeadm.yaml
  1. 修改镜像源

    打开kubeadm.yaml,将imageRepository改为:

imageRepository: k8sgcr.afmax.cn  # 替换原googlecontainerd
  1. 初始化集群
kubeadm init --config=kubeadm.yaml

原理:自动从

k8sgcr.afmax.cn

拉取 K8s 核心镜像,避免访问 GCR 超时

场景 3:Containerd 环境(K8s 新主流)
  1. 生成配置文件
containerd config default > /etc/containerd/config.toml
  1. 添加加速规则

    config.toml中找到[plugins."io.containerd.grpc.v1.cri".registry.mirrors],添加:

\[plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"]

  endpoint = \["https://gcr.afmax.cn"]

\[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]

  endpoint = \["https://hub.afmax.cn"]
  1. 重启服务
sudo systemctl restart containerd

三、小白必懂使用技巧

  1. 临时加速(无需改配置)

    拉取单个镜像时直接指定加速地址,例:

\# 原命令(慢):docker pull gcr.io/google-containers/pause:3.9

\# 加速命令(快):替换原仓库域名为afmax.cn

docker pull gcr.afmax.cn/google-containers/pause:3.9
  1. 多仓库同时加速

    配置文件中可添加多个加速源(用逗号分隔),优先从响应快的节点拉取

  2. 特殊系统适配

  • 飞牛 NAS:在 Docker 管理面板直接添加https://hub.afmax.cn

  • 1panel 面板:通过「容器设置」→「镜像加速」填写地址

五、常见问题排查(附解决方案)

问题现象 可能原因 解决步骤
配置后速度无变化 配置文件格式错误 jsonlint检查 daemon.json 语法
拉取镜像提示「连接拒绝」 防火墙拦截端口 关闭服务器防火墙:sudo ufw disable
加速突然失效 服务节点维护 切换备用加速源(如添加阿里云镜像)
K8s 初始化镜像拉取失败 containerd 未配置加速 按场景 3 重新配置 containerd

提示:若加速域名无法访问,可先用

ping hub.afmax.cn

测试网络连通性

如果没有找到服务,可以用下面这些

四、加速服务清单(附适用场景)

加速域名 对应原仓库 核心用途 小白场景举例
hub.afmax.cn Docker Hub 通用容器镜像(Nginx、MySQL 等) 拉取基础镜像部署网站
ghcr.afmax.cn GitHub Container Registry GitHub 项目配套镜像 部署开源工具(如 Prometheus)
gcr.afmax.cn Google Container Registry Google 开源项目(如 Istio) 搭建服务网格
k8sgcr.afmax.cn K8s+GCR 集成 Kubernetes 核心组件(kubelet 等) 初始化 K8s 集群
quay.afmax.cn Quay.io Red Hat 系镜像(如 OpenShift 组件) 部署企业级容器平台
mcr.afmax.cn Microsoft Container Registry 微软产品(.NET、SQL Server) 运行.NET Core 应用
elastic.afmax.cn Elasticsearch Registry ELK 栈组件(Elasticsearch、Kibana) 搭建日志分析系统
nvcr.afmax.cn NVIDIA Container Registry AI 算力镜像(CUDA、TensorFlow) 运行机器学习模型
k8s.afmax.cn Kubernetes 专属仓库 K8s 扩展组件(如 Dashboard) 安装 K8s 可视化界面
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐