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
|