shell脚本导出本地机器上所有docker镜像,导出成一个文件。
1、根据docker image list 结果
2、将所有镜像的REPOSITORY和TAG值,用awk取出,并合并到一行。
3、使用 docker save 保存到一个tar.gz文件。
脚本如下:
#!/bin/sh
# this script for docker save tar.gz by docker all list img.
# 1.此脚本将本地所有镜像的 REPOSITORY 和 TAG 值,用awk取出,并合并到一行
# 2.docker save 保存到 test*.tar.gz 文件 eg. docker save imageid test.tar.gz
# 3.在其它服务器导入 eg. docker load -i test.tar.gz
# author guoliang.di@gmail.com
sum=` docker image list |wc -l`
COUNT=`expr $sum - 1`
echo 镜像数量:$COUNT
TAG=`docker image list|grep -v REPOSITORY|awk '{print $1":" $2}'|awk 'ORS=NR%"'$COUNT'"?" ":"\n"{print}'`
echo TAG值:$TAG
docker save $TAG -o test*.tar.gz
服务器导入:
docker load -i test.tar.gz