1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| #!/bin/bash
# 定义镜像列表 IMAGES=( "nginx:latest" )
# 定义目标目录 TARGET_DIR="download-images"
# 创建目标目录 mkdir -p "${TARGET_DIR}" echo "创建目录: ${TARGET_DIR}"
# 遍历镜像列表,拉取并导出 for image in "${IMAGES[@]}"; do # 拉取镜像 echo "开始拉取镜像: ${image}" docker pull "${image}" # 提取镜像名称作为文件名(替换特殊字符) filename=$(echo "${image}" | sed 's/[:\/]/_/g').tar filepath="${TARGET_DIR}/${filename}" # 导出镜像 echo "开始导出镜像到: ${filepath}" docker save "${image}" -o "${filepath}" if [ $? -eq 0 ]; then echo "成功导出: ${image}" else echo "导出失败: ${image}" >&2 fi echo "-------------------------" done
echo "所有镜像处理完成!导出文件保存在: $(pwd)/${TARGET_DIR}"
|