Docker学习(四) 镜像迁移

两种方式

· export import

这种方式只能保存和还原镜像当前的状态,所有变更历史都会丢失

· save load

这种方式可以保存镜像全部信息

save和load

查询镜像列表

$ sudo docker images

REPOSITORY                                                                                            TAG                 IMAGE ID            CREATED             SIZE
hyperledger/fabric-ca                                                                                 latest              72617b4fa9b4        2 months ago        299MB
hyperledger/fabric-ca                                                                                 x86_64-1.1.0        72617b4fa9b4        2 months ago        299MB
hyperledger/fabric-tools                                                                              latest              b7bfddf508bc        2 months ago        1.46GB
hyperledger/fabric-tools                                                                              x86_64-1.1.0        b7bfddf508bc        2 months ago        1.46GB
hyperledger/fabric-orderer                                                                            latest              ce0c810df36a        2 months ago        180MB
hyperledger/fabric-orderer                                                                            x86_64-1.1.0        ce0c810df36a        2 months ago        180MB
hyperledger/fabric-peer                                                                               latest              b023f9be0771        2 months ago        187MB
hyperledger/fabric-peer                                                                               x86_64-1.1.0        b023f9be0771        2 months ago        187MB
hyperledger/fabric-javaenv                                                                            latest              82098abb1a17        2 months ago        1.52GB
hyperledger/fabric-javaenv                                                                            x86_64-1.1.0        82098abb1a17        2 months ago        1.52GB
hyperledger/fabric-ccenv                                                                              latest              c8b4909d8d46        2 months ago        1.39GB
hyperledger/fabric-ccenv                                                                              x86_64-1.1.0        c8b4909d8d46        2 months ago        1.39GB
hyperledger/fabric-zookeeper                                                                          latest              92cbb952b6f8        3 months ago        1.39GB
hyperledger/fabric-zookeeper                                                                          x86_64-0.4.6        92cbb952b6f8        3 months ago        1.39GB
hyperledger/fabric-kafka                                                                              latest              554c591b86a8        3 months ago        1.4GB
hyperledger/fabric-kafka                                                                              x86_64-0.4.6        554c591b86a8        3 months ago        1.4GB
hyperledger/fabric-couchdb                                                                            latest              7e73c828fc5b        3 months ago        1.56GB
hyperledger/fabric-couchdb                                                                            x86_64-0.4.6        7e73c828fc5b        3 months ago        1.56GB
hyperledger/fabric-baseos                                                                             x86_64-0.4.6        220e5cf3fb7f        3 months ago        151MB

保存镜像

$ sudo docker save 72617b4fa9b4 > 72617b4fa9b4.tar
$ ls

72617b4fa9b4.tar

还原镜像

$ docker load < 72617b4fa9b4.tar

如果镜像很多,可以写个小脚本干这个事

for rar_file in `ls $1`
do
  file_name=$rar_file
  file_type=${file_name##*.}
  if [ -d $file_name ]
    then echo 'this is dir'
  else
    echo "this is file $file_name --> $file_type"
    if [ "$file_type" == "tar" ]
      then docker load < $file_name
    else
      echo 'skip'
    fi
  fi
done

重命名

$ docker tag 72617b4fa9b4 hyperledger/fabric-ca

如果觉得挨个重命名在麻烦,也可以用脚本代劳。假设在备份的时候把docker images的信息保存到了log文件中,形如:

hyperledger/fabric-tools       latest              432c24764fbb        5 weeks ago         1.55GB
hyperledger/fabric-ccenv       latest              d7433c4b2a1c        5 weeks ago         1.43GB
hyperledger/fabric-orderer     latest              ec4ca236d3d4        5 weeks ago         173MB
hyperledger/fabric-peer        latest              a1e3874f338b        5 weeks ago         178MB

则可编写脚本如下:

cat log | while read line
do
  echo $line
  arr=($line)
  echo "${arr[0]}-->${arr[1]}-->${arr[2]}"
  docker tag ${arr[2]} ${arr[0]}:${arr[1]}
  echo "-----------------------------"
done

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值