小白必备!镜像加速全指南:从概念到实操
小白必备!镜像加速全指南:从概念到实操
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,全局加速所有镜像拉取:
- 编辑配置文件
- Linux/Mac:打开终端执行
sudo vim /etc/docker/daemon.json
- Windows:打开 Docker Desktop → Settings → Docker Engine
-
添加加速配置
复制以下内容(多源加速更稳定):
{
  "registry-mirrors": \[
  "https://hub.afmax.cn", // Docker Hub加速
  "https://ghcr.afmax.cn", // GitHub镜像加速
  "https://mcr.afmax.cn" // 微软镜像加速
  ]
}
- 生效配置
- Linux/Mac:
sudo systemctl daemon-reload && sudo systemctl restart docker
- Windows:点击「Apply & Restart」
-
验证是否成功
执行
docker info,若看到以下内容则生效:
Registry Mirrors:
  https://hub.afmax.cn/
  https://ghcr.afmax.cn/
场景 2:Kubernetes 集群搭建(用 kubeadm)
解决初始化时拉取 K8s 组件镜像失败问题:
- 生成默认配置
kubeadm config print init-defaults > kubeadm.yaml
-
修改镜像源
打开
kubeadm.yaml,将imageRepository改为:
imageRepository: k8sgcr.afmax.cn # 替换原googlecontainerd
- 初始化集群
kubeadm init --config=kubeadm.yaml
原理:自动从
拉取 K8s 核心镜像,避免访问 GCR 超时
场景 3:Containerd 环境(K8s 新主流)
- 生成配置文件
containerd config default > /etc/containerd/config.toml
-
添加加速规则
在
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"]
- 重启服务
sudo systemctl restart containerd
三、小白必懂使用技巧
-
临时加速(无需改配置)
拉取单个镜像时直接指定加速地址,例:
\# 原命令(慢):docker pull gcr.io/google-containers/pause:3.9
\# 加速命令(快):替换原仓库域名为afmax.cn
docker pull gcr.afmax.cn/google-containers/pause:3.9
-
多仓库同时加速
配置文件中可添加多个加速源(用逗号分隔),优先从响应快的节点拉取
-
特殊系统适配
-
飞牛 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 可视化界面 |
更多推荐


所有评论(0)