国内六大镜像源统一规范手册:DaoCloud道客云、华为云(渡渡鸟)、阿里云、中科大、腾讯云、南京大学镜像源
8类仓库:
docker.io / registry.k8s.io / gcr.io / k8s.gcr.io / ghcr.io / quay.io / mcr.microsoft.com / docker.elastic.co
一,六大源横向对比
| 镜像源 | 公网线下机房可用 | 支持8类仓库 | 可直接 sed 改写 yaml | 无需账号 | 离线打包友好度 |
| DaoCloud 道客云 | ✅ | ✅ 全支持 | ✅ | ✅ | ⭐⭐⭐⭐⭐ |
| 华为云 DDN-k8s | ✅ | ✅ 全支持 | ✅ | ✅ | ⭐⭐⭐⭐⭐ |
| 阿里云 google_containers | ✅ | ❌ 仅 k8s/gcr 系列 | ✅ | ✅ | ⭐⭐(仅 k8s 组件) |
| 阿里云 Labring 公共仓 | ✅ | ❌ 仅 Sealos 生态 | ❌(专用) | ✅ | ⭐(仅 Sealos) |
| 阿里云个人加速器 | ✅ | ❌ 仅 docker.io | ❌ | ❌(需账号) | ⭐ |
| 中科大 USTC | ✅ | ❌ 缺 3 类 | ❌ | ✅ | ⭐ |
| 南京大学 NJU | ❌(校外限流) | ❌ 缺 3 类 | ❌ | ✅ | ⭐(仅校园内网) |
| 腾讯云 TCR 代理 | ❌ 仅限腾讯云内网 | ❌ 缺 elastic,仅限内网 | ✅ | ✅ (内网) | ⭐ (仅腾讯云服务器) |
二,国内六大镜像源统一规范手册
覆盖仓库:docker.io / gcr.io / k8s.gcr.io / registry.k8s.io / ghcr.io / quay.io / mcr.microsoft.com / docker.elastic.co
统一输出模板(每个镜像源固定 4 模块):
1,拉取镜像替换规则(nerdctl pull)
2,YAML 全局 sed 替换命令(含清除 sha256)
3,containerd 全局 mirror 配置
4,kubeadm --image-repository 适配规则
附加:各仓库兼容说明。
前置统一约定
原始示例镜像(各仓库代表):
【docker.io】:docker.io/library/nginx:1.27
【registry.k8s.io】:registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.6.9
【k8s.gcr.io/gcr.io】:k8s.gcr.io/pause:3.10
【ghcr.io】:ghcr.io/home-assistant/home-assistant:2026.7
【quay.io】:quay.io/prometheus/prometheus:v2.53.0
【mcr.microsoft.com】:mcr.microsoft.com/dotnet/runtime:8.0
【docker.elastic.co】:docker.elastic.co/elasticsearch/elasticsearch:8.15.0a
1, 【DaoCloud 道客云】
通用替换规则:
所有海外源统一前缀 m.daocloud.io/ + 原完整镜像地址
k8s 专用短域名简化:registry.k8s.io → k8s.m.daocloud.io
1.1 nerdctl pull 地址替换
# docker.io nerdctl pull m.daocloud.io/docker.io/library/nginx:1.27 # registry.k8s.io nerdctl pull k8s.m.daocloud.io/ingress-nginx/kube-webhook-certgen:v1.6.9 # k8s.gcr.io / gcr.io nerdctl pull m.daocloud.io/k8s.gcr.io/pause:3.10 # ghcr.io nerdctl pull m.daocloud.io/ghcr.io/home-assistant/home-assistant:2026.7 # quay.io nerdctl pull m.daocloud.io/quay.io/prometheus/prometheus:v2.53.0 # mcr.microsoft.com nerdctl pull m.daocloud.io/mcr.microsoft.com/dotnet/runtime:8.0 # docker.elastic.co nerdctl pull m.daocloud.io/docker.elastic.co/elasticsearch/elasticsearch:8.15.0
1.2 YAML 批量替换脚本(一键全仓库 + 清哈希)
# 1. registry.k8s.io 短域名优化 sed -i 's|registry.k8s.io|k8s.m.daocloud.io|g' app.yaml # 2. 其余7类仓库通用前缀替换 sed -i 's|docker.io|m.daocloud.io/docker.io|g' app.yaml sed -i 's|gcr.io|m.daocloud.io/gcr.io|g' app.yaml sed -i 's|k8s.gcr.io|m.daocloud.io/k8s.gcr.io|g' app.yaml sed -i 's|ghcr.io|m.daocloud.io/ghcr.io|g' app.yaml sed -i 's|quay.io|m.daocloud.io/quay.io|g' app.yaml sed -i 's|mcr.microsoft.com|m.daocloud.io/mcr.microsoft.com|g' app.yaml sed -i 's|docker.elastic.co|m.daocloud.io/docker.elastic.co|g' app.yaml # 3. 删除所有@sha256哈希(离线必执行) sed -i 's/@sha256:[0-9a-f]*//g' app.yaml
1.3 containerd config.toml全局 mirror 配置
# docker.io [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://m.daocloud.io/docker.io"] # registry.k8s.io [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"] endpoint = ["https://k8s.m.daocloud.io"] # gcr.io/k8s.gcr.io [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"] endpoint = ["https://m.daocloud.io/gcr.io"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"] endpoint = ["https://m.daocloud.io/k8s.gcr.io"] # ghcr.io [plugins."io.containerd.grpc.v1.cri".registry.mirrors."ghcr.io"] endpoint = ["https://m.daocloud.io/ghcr.io"] # quay.io [plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"] endpoint = ["https://m.daocloud.io/quay.io"] # mcr.microsoft.com [plugins."io.containerd.grpc.v1.cri".registry.mirrors."mcr.microsoft.com"] endpoint = ["https://m.daocloud.io/mcr.microsoft.com"] # docker.elastic.co [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.elastic.co"] endpoint = ["https://m.daocloud.io/docker.elastic.co"]
生效:systemctl restart containerd
1.4 kubeadm 镜像仓库参数(仅 registry.k8s 相关)
kubeadm config images pull --image-repository k8s.m.daocloud.io
kubeadm init --image-repository k8s.m.daocloud.io
2 【华为云(渡渡鸟) DDN-k8s 公共同步仓】
通用替换规则:
所有镜像前缀统一拼接:swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ + 原完整镜像地址
2.1 nerdctl pull 地址替换
# docker.io nerdctl pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/nginx:1.27 # registry.k8s.io nerdctl pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.6.9 # k8s.gcr.io nerdctl pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/k8s.gcr.io/pause:3.10 # ghcr.io nerdctl pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/home-assistant/home-assistant:2026.7 # quay.io nerdctl pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/prometheus/prometheus:v2.53.0 # mcr.microsoft.com nerdctl pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/dotnet/runtime:8.0 # docker.elastic.co nerdctl pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.elastic.co/elasticsearch/elasticsearch:8.15.0
2.2 YAML 批量替换脚本
sed -i 's|docker.io|swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io|g' app.yaml sed -i 's|registry.k8s.io|swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io|g' app.yaml sed -i 's|gcr.io|swr.cn-north-4.myhuaweicloud.com/ddn-k8s/gcr.io|g' app.yaml sed -i 's|k8s.gcr.io|swr.cn-north-4.myhuaweicloud.com/ddn-k8s/k8s.gcr.io|g' app.yaml sed -i 's|ghcr.io|swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io|g' app.yaml sed -i 's|quay.io|swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io|g' app.yaml sed -i 's|mcr.microsoft.com|swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com|g' app.yaml sed -i 's|docker.elastic.co|swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.elastic.co|g' app.yaml sed -i 's/@sha256:[0-9a-f]*//g' app.yaml
2.3 containerd config.toml全局 mirror 配置
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"] endpoint = ["https://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"] endpoint = ["https://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/gcr.io"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"] endpoint = ["https://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/k8s.gcr.io"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."ghcr.io"] endpoint = ["https://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"] endpoint = ["https://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."mcr.microsoft.com"] endpoint = ["https://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.elastic.co"] endpoint = ["https://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.elastic.co"]
2.4 kubeadm 参数
kubeadm config images pull --image-repository swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io kubeadm init --image-repository swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io
兼容说明
3, 【阿里云 ACR】
3.1 阿里云官方 google_containers 同步仓
兼容 & 限制
3.1.1. nerdctl pull 镜像地址替换规则
原始 k8s.gcr.io/registry.k8s.io 镜像直接替换域名段:
原始:registry.k8s.io/pause:3.10 / k8s.gcr.io/kube-apiserver:v1.34.3
替换:registry.aliyuncs.com/google_containers/pause:3.10 / registry.aliyuncs.com/google_containers/kube-apiserver:v1.34.3
# 拉取pause示例 nerdctl pull registry.aliyuncs.com/google_containers/pause:3.10 # ingress-nginx webhook nerdctl pull registry.aliyuncs.com/google_containers/ingress-nginx/kube-webhook-certgen:v1.6.9
3.1.2. YAML 全局 sed 替换脚本(离线打包改写镜像地址)
# 替换registry.k8s.io sed -i 's|registry.k8s.io|registry.aliyuncs.com/google_containers|g' app.yaml # 替换旧k8s.gcr.io sed -i 's|k8s.gcr.io|registry.aliyuncs.com/google_containers|g' app.yaml # 清除sha256哈希(离线必执行,防止强制联网校验) sed -i 's/@sha256:[0-9a-f]*//g' app.yaml
3.1.3. containerd config.toml全局 mirror 配置
[plugins."io.containerd.grpc.v1.cri".registry.mirrors] # 适配新版registry.k8s.io [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"] endpoint = ["https://registry.aliyuncs.com/google_containers"] # 兼容旧k8s.gcr.io [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"] endpoint = ["https://registry.aliyuncs.com/google_containers"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"] endpoint = ["https://registry.aliyuncs.com/google_containers"]
生效命令:systemctl restart containerd
3.1.4. kubeadm 初始化 / 拉镜像 --image-repository 参数(标准写法)
# 预拉k8s v1.34.3组件镜像 kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.34.3 # 集群初始化 kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.34.3
3.2阿里云上海 Labring 公共仓(registry.cn-shanghai.aliyuncs.com/labring/)
适用:Sealos 在线与离线部署、k8s/calico/openebs/helm/kubesphere 专用镜像
兼容 & 限制
3.2.1. nerdctl pull 直接拉取(无需域名替换,完整地址使用)
nerdctl pull registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.25.0 nerdctl pull registry.cn-shanghai.aliyuncs.com/labring/calico:v3.24.1 nerdctl pull registry.cn-shanghai.aliyuncs.com/labring/kubesphere:v3.4.0
3.2.2. YAML 替换场景
仅 Sealos 生态专用 yaml,无通用 sed 脚本;直接手动替换镜像完整地址,清除 sha256 哈希。
sed -i 's/@sha256:[0-9a-f]*//g' sealos-deploy.yaml
3.2.3. containerd config.toml全局 mirror 配置(仅 labring 仓库加速)
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.cn-shanghai.aliyuncs.com/labring"] endpoint = ["https://registry.cn-shanghai.aliyuncs.com/labring"]
3.2.4. kubeadm 不适用
Labring 是预打包集群镜像,不走 kubeadm 官方镜像仓库参数,仅sealos run使用。
3.3, 【阿里云个人专属镜像加速器(xxx.mirror.aliyuncs.com)】
1 核心规则
- 需要阿里云账号,登录 ACR 控制台生成专属加速地址;
- 仅全局加速 docker.io,不能改写 YAML 镜像域名,仅配置 containerd mirror;
- 不支持 registry.k8s.io/ghcr.io/quay.io 等其他仓库中转。
3.3.1 nerdctl pull
# 自建仓示例
nerdctl pull registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.6.9
nerdctl tag registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.6.9 registry.cn-hangzhou.aliyuncs.com/ns/kube-webhook-certgen:v1.6.9
nerdctl push registry.cn-hangzhou.aliyuncs.com/ns/kube-webhook-certgen:v1.6.9
3.3.2 YAML 替换
3.3.3 containerd mirror配置(加速器,替换xxx.mirror.aliyuncs.com为个人地址)
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://xxxx.mirror.aliyuncs.com"]
3.3.4 kubeadm 参数
--image-repository 仍填 registry.k8s.io,依赖 mirror 加速,无改写域名。核心限制
4.1 nerdctl pull
nerdctl pull registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.6.9
4.2 YAML 替换
4.3 containerd config.toml全局 mirror 配置
# docker.io [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://docker.mirrors.ustc.edu.cn"] # registry.k8s.io / k8s.gcr.io [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"] endpoint = ["https://k8s.mirrors.ustc.edu.cn"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"] endpoint = ["https://k8s.mirrors.ustc.edu.cn"] # gcr.io [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"] endpoint = ["https://gcr.mirrors.ustc.edu.cn"] # quay.io [plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"] endpoint = ["https://quay.mirrors.ustc.edu.cn"] # ghcr.io、mcr.microsoft.com、docker.elastic.co ❌ USTC无公共镜像代理,无法加速,只能直连外网
4.4 kubeadm 参数
kubeadm init --image-repository registry.k8s.io
兼容说明
5, 【腾讯云 TCR 镜像代理】
核心限制
仓库名.tencentcloudcr.com5.1 nerdctl pull(仅腾讯云内网)
# docker.io → docker.tencentcloudcr.com nerdctl pull docker.tencentcloudcr.com/library/nginx:1.27 # registry.k8s.io → k8s.tencentcloudcr.com nerdctl pull k8s.tencentcloudcr.com/ingress-nginx/kube-webhook-certgen:v1.6.9 # gcr.io → gcr.tencentcloudcr.com # k8s.gcr.io → k8s.tencentcloudcr.com # ghcr.io → ghcr.tencentcloudcr.com # quay.io → quay.tencentcloudcr.com # mcr.microsoft.com → mcr.tencentcloudcr.com # docker.elastic.co ❌ 无代理
5.2 YAML 批量 sed(内网专用)
sed -i 's|docker.io|docker.tencentcloudcr.com|g' app.yaml sed -i 's|registry.k8s.io|k8s.tencentcloudcr.com|g' app.yaml sed -i 's|gcr.io|gcr.tencentcloudcr.com|g' app.yaml sed -i 's|k8s.gcr.io|k8s.tencentcloudcr.com|g' app.yaml sed -i 's|ghcr.io|ghcr.tencentcloudcr.com|g' app.yaml sed -i 's|quay.io|quay.tencentcloudcr.com|g' app.yaml sed -i 's|mcr.microsoft.com|mcr.tencentcloudcr.com|g' app.yaml sed -i 's/@sha256:[0-9a-f]*//g' app.yaml
5.3 containerd config.toml全局 mirror 配置(内网)
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://docker.tencentcloudcr.com"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"] endpoint = ["https://k8s.tencentcloudcr.com"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"] endpoint = ["https://gcr.tencentcloudcr.com"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"] endpoint = ["https://k8s.tencentcloudcr.com"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."ghcr.io"] endpoint = ["https://ghcr.tencentcloudcr.com"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"] endpoint = ["https://quay.tencentcloudcr.com"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."mcr.microsoft.com"] endpoint = ["https://mcr.tencentcloudcr.com"] # docker.elastic.co ❌ 无代理配置
5.4 kubeadm 参数(内网)
kubeadm init --image-repository k8s.tencentcloudcr.com
兼容说明
前置关键限制
- 仅教育网 / 校园内网极速,公网访问限流、403、极慢,企业线下机房、云服务器不推荐;
- 仅提供
containerd mirror 加速,无统一前缀改写镜像地址,不能 sed 批量替换 YAML 镜像字符串; - 部分小众海外仓库无同步缓存。
南大镜像域名基础
- docker.io:
docker.mirrors.nju.edu.cn - k8s 系列:
k8s.mirrors.nju.edu.cn - gcr.io:
gcr.mirrors.nju.edu.cn - quay.io:
quay.mirrors.nju.edu.cn
南京大学镜像完整配置
6.1, nerdctl pull 拉取规则
# 示例全部原始写法,无需改写 nerdctl pull registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.6.9 nerdctl pull docker.io/library/nginx:1.27 nerdctl pull quay.io/prometheus/prometheus:v2.53.0
6.2, YAML 镜像替换
6.3, containerd config.toml全局 mirror 配置
# docker.io [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://docker.mirrors.nju.edu.cn"] # registry.k8s.io / k8s.gcr.io 共用一套镜像源 [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"] endpoint = ["https://k8s.mirrors.nju.edu.cn"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"] endpoint = ["https://k8s.mirrors.nju.edu.cn"] # gcr.io [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"] endpoint = ["https://gcr.mirrors.nju.edu.cn"] # quay.io [plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"] endpoint = ["https://quay.mirrors.nju.edu.cn"] # 以下仓库南大无公共镜像代理,无法加速,只能直连外网 # ghcr.io、mcr.microsoft.com、docker.elastic.co
systemctl restart containerd6.4, kubeadm 初始化 / 拉镜像参数
kubeadm config images pull --image-repository registry.k8s.io
kubeadm init --image-repository registry.k8s.io
6.5, 全仓库兼容清单
docker.io、registry.k8s.io、k8s.gcr.io、gcr.io、quay.io
ghcr.io、mcr.microsoft.com、docker.elastic.co6.6, 使用场景说明
- 适用:南京大学校内教育网服务器、高校校园集群在线加速;
- 不适用:企业线下私有化机房、云服务器、离线打包导出镜像、校外公网集群;
- 对比中科大 USTC:两者能力一致,均仅支持 5 类仓库、不能改写 YAML,校外均限流。
三,离线部署强制通用操作
所有修改 YAML 场景,必须执行哈希清除命令,规避镜像摘要不匹配强制联网拉取:
sed -i 's/@sha256:[0-9a-f]*//g' 配置文件.yaml

浙公网安备 33010602011771号