1 背景介绍
有些环境的网络无法下载某些镜像,比如k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.0.1,这时就可以在一个可以下载该镜像的机器上先下载下来,然后导出来tar文件,拷贝到目标机器上,再导进去。
2 镜像导入-导出
以导入-导出以下4个镜像为例,介绍整个导入过程
k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.0.1
k8s.gcr.io/sig-storage/csi-resizer:v1.0.0
k8s.gcr.io/sig-storage/csi-snapshotter:v3.0.0
k8s.gcr.io/sig-storage/csi-attacher:v3.0.0
镜像导出
先下载以上四个镜像,下载后如下所示
执行以下命令到处镜像
docker save -o csi.tar k8s.gcr.io/sig-storage/csi-snapshotter:v3.0.0 k8s.gcr.io/sig-storage/csi-resizer:v1.0.0 k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.0.1 k8s.gcr.io/sig-storage/csi-attacher:v3.0.0
或者
docker save k8s.gcr.io/sig-storage/csi-snapshotter:v3.0.0 k8s.gcr.io/sig-storage/csi-resizer:v1.0.0 k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.0.1 k8s.gcr.io/sig-storage/csi-attacher:v3.0.0 > csi.tar
注意:如果使用image id导出镜像,则在导入镜像时不保留原来的
docker tag <IMAGE ID> <repository>:<TAG>
镜像导入
为了便于在同一台机器上验证效果,先把本地上已下载的镜像删除,删除后如下所示
执行以下命令导入镜像
docker load -i csi.tar
或者
docker load < csi.tar