docker之load镜像重命名实现方式
作者:判官Sir
文章主要说明在Docker镜像传输中,使用save/load时若未指定名称和标签,会导致镜像REPOSITORY显示为<none>,解决方法为:load后通过docker tag重命名,或打包时使用镜像名:标签格式,确保传输后镜像信息完整
前言
在工作中,很多时候生产环境由于不能联网,只能采取docker save与docker load的方式拉取镜像,这个过程中会经常遇到以下情况:
将docker save 保存的tar 包在传入另一台服务器load的镜像 REPOSITORY-名字和 TAG-版本为<none >
提示:以下是本篇文章正文内容,下面案例可供参考
一、REPOSITORY-名字和 TAG-版本为<none >的原因是什么?
这个问题是根本在于这个镜像压缩包在打包的时候导致
例如,以下打包方式将会导致解压的出来的镜像没有名字,原因在 6120bd723dce 是IMAGE ID
docker save -o kube-proxy.tar 6120bd723dce
二、解决方法
这个问题有两种解决方法:
1.重命名镜像
1.1、load 镜像
docker load <kube-proxy.tar
1.2、修改 load 的镜像,镜像ID:6120bd723dce 镜像名称及版本:kube-proxy:v1
docker tag 6120bd723dce kube-proxy:v1
2.不使用镜像ID,采用 镜像名:版本号 的方式打包
如下所示
docker save -o kube-proxy.tar kube-proxy:v1
然后load 镜像后,REPOSITORY-名字和 TAG-版本分别为: kube-proxy v1
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。