导出
执行命令: sh export.sh 镜像地址
export.sh内容如下:
#!/bin/sh
docker_image_path="$1"
docker_image_short_name=${docker_image_path##*/}
outfile_name=${docker_image_short_name/:/-}
docker pull $docker_image_path
docker save -o ${outfile_name}.tar $docker_image_path
docker rmi -f $docker_image_path
导入
执行命令: sh import.sh
import.sh内容如下:
#!/bin/sh
#查找当前目录下所有以 .tar后缀的文件
RESLIST=`find -type f -name '*.tar'`
for reslist in $RESLIST
do
#加载镜像,并输出原始镜像地址
srcImage=$(docker load -i $reslist | grep 'Loaded image:' | sed 's/^.*Loaded image: //g')
#转换目标镜像地址
destImage=$(echo $srcImage | sed 's/xxx.xxx.xxx.xxx:8082/xxx.xxx.xxx.xxx:5000/g')
#修改标签版本
docker tag $srcImage $destImage
#推送镜像版本到目标服务器
docker push $destImage
#删除本地镜像
docker rmi -f $srcImage
docker rmi -f $destImage
done