#!/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}"