国内镜像打 tag 替换国外镜像
更新时间:2025年6月8日 13:03
浏览:805
解决国外镜像在国内拉取不到时,常用的处理方案
- 修改配置文件( yaml 等),更换为国内镜像
- 从国内拉取镜像,打 tag 标记为国外镜像
本文介绍第二种方案,
Containerd 运行时
ctrctl 没有对应的 tag 命令,需要使用 ctr 命令操作
containerd 镜像有命名空间
k8s 默认使用 k8s.io 的命名空间下的镜像,需要使用 -n k8s.io 参数指定命名空间
拉取镜像
ctr -n k8s.io image pull registry.aliyuncs.com/google_containers/pause:3.9
打 tag 标记为国外镜像
ctr -n k8s.io image tag registry.aliyuncs.com/google_containers/pause:3.9 registry.k8s.io/pause:3.9
# 醒看镜像列表
ctr -n k8s.io images ls
Cri-dockerd 运行时
docker 没有命名空间的概念
拉取镜像
docker pull registry.aliyuncs.com/google_containers/pause:3.9
打 tag 标记为国外镜像
docker tag registry.aliyuncs.com/google_containers/pause:3.9 registry.k8s.io/pause:3.9
# 查看镜像列表
docker images
docker 国内镜像整理
daocloud
提供了两种网址换方式
# 1 直接在源网址前加:m.daocloud.io/
k8s.gcr.io/coredns/coredns => m.daocloud.io/k8s.gcr.io/coredns/coredns
# 2 替换,网址后的 path 不变
k8s.gcr.io/coredns/coredns => k8s-gcr.m.daocloud.io/coredns/coredns
# 网址变换规则,网址后的 path 不变
# cr.l5d.io -> l5d.m.daocloud.io
# docker.elastic.co -> elastic.m.daocloud.io
# docker.io -> docker.m.daocloud.io
# gcr.io -> gcr.m.daocloud.io
# ghcr.io -> ghcr.m.daocloud.io
# k8s.gcr.io -> k8s-gcr.m.daocloud.io
# registry.k8s.io -> k8s.m.daocloud.io
# mcr.microsoft.com -> mcr.m.daocloud.io
# nvcr.io -> nvcr.m.daocloud.io
# quay.io -> quay.m.daocloud.io
# registry.jujucharms.com -> jujucharms.m.daocloud.io
# rocks.canonical.com -> rocks-canonical.m.daocloud.io
使用示例:
ctr -n k8s.io image pull m.daocloud.io/registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.12.0
ctr -n k8s.io image tag m.daocloud.io/registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.12.0 registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.12.0
ctr -n k8s.io image pull m.daocloud.io/registry.k8s.io/prometheus-adapter/prometheus-adapter:v0.11.2
ctr -n k8s.io image tag m.daocloud.io/registry.k8s.io/prometheus-adapter/prometheus-adapter:v0.11.2 registry.k8s.io/prometheus-adapter/prometheus-adapter:v0.11.2
南京大学镜像
# 替换示例,网址后的 path 不变
gcr.io/cadvisor/cadvisor:v0.39.3 => gcr.nju.edu.cn/cadvisor/cadvisor:v0.39.3
# 其它
# gcr.io -> gcr.nju.edu.cn
# k8s.gcr.io -> gcr.nju.edu.cn/google-containers
# ghcr.io -> ghcr.nju.edu.cn
# nvcr.io -> nvcr.nju.edu.cn
# quay.io -> quay.nju.edu.cn
# registry.k8s.io -> k8s.mirror.nju.edu.cn