Docker 8. 批量导出导入

Docker 如何批量导出导入镜像。

逐个导出镜像

1
2
3
4
5
6
7
8
#!/bin/bash
IMAGES_LIST=($(docker images | sed '1d' | awk '{print $1}'))
IMAGES_NM_LIST=($(docker images | sed '1d' | awk '{print $1"-"$2}'| awk -F/ '{print $NF}'))
IMAGES_NUM=${#IMAGES_LIST[*]}
for((i=0;i<$IMAGES_NUM;i++))
do
docker save "${IMAGES_LIST[$i]}" -o "${IMAGES_NM_LIST[$i]}".tar.gz
done

‘#’注意 这个慎用,如果一个镜像有多个版本,容易出现问题,采用下面的批量导入

批量导入到一个压缩包

1
2
3
#!/bin/bash
IMAGES_LIST=($(docker images | sed '1d' | awk '{print $1":"$2}'))
docker save ${IMAGES_LIST[*]} -o all-images.tar.gz

逐个导入镜像

1
2
3
4
5
cd $DIR/images_file
for image_name in $(ls ./)
do
docker load < ${image_name}
done

Docker 8. 批量导出导入
https://blog.josway.cc/2022/04/25/yuque/Docker 8. 批量导出导入/
作者
JOSWAY
发布于
2022年4月25日
许可协议