docker批量保存镜像
原创2025年9月10日小于 1 分钟
docker批量保存镜像
当前网络环境因为限制无法
docker pull
, 需要批量下载镜像进行迁移到其他机器
执行下面脚本可以保存镜像
#!/bin/bash
# save_docker_images.sh
# 用于批量保存镜像
# 定义镜像列表(去重)
images=(
"ghcr.io/labring/aiproxy:v0.2.2"
"pgvector/pgvector:0.8.0-pg15"
"ghcr.io/labring/fastgpt:v4.12.1-fix"
"ghcr.io/labring/fastgpt-mcp_server:v4.12.1"
"minio/minio:latest"
"ghcr.io/labring/fastgpt-plugin:v0.1.10"
"mongo:5.0.18"
"redis:7.2-alpine"
"ghcr.io/labring/fastgpt-sandbox:v4.12.1"
)
# 去重
unique_images=($(echo "${images[@]}" | tr ' ' '\n' | sort -u))
# 循环保存镜像
for img in "${unique_images[@]}"; do
# 用 / 和 : 替换成 _ 作为文件名
file_name=$(echo "$img" | sed 's/[\/:]/_/g').tar
echo "Saving $img -> $file_name"
docker pull "$img"
docker save -o "$file_name" "$img"
done
echo "All images saved."
镜像压缩
tar -czvf docker_images.tar.gz *.tar
copy 到 另外主机
解压
tar -zxvf docker_images.tar.gz
load 镜像
docker load -i *.tar