本方法适合在已经pull好docker镜像正常使用的机器 将环境迁移到无网络 或者网络不好的机器使用
linux 用法
cd 到 docker-compose.yml 所在目录
./save_compose_images.sh
#!/bin/bash
# 拉取镜像并保存为 .tar 文件
docker save $(docker-compose images | awk '{print $3}' | grep -v "Container" | uniq) -o project_images.tar
echo "镜像已保存到 project_images.tar"
加载镜像 docker load -i project_images.tar
win 下脚本
save_all_images.bat
# 获取docker-compose.yml 中的镜像列表
$images = docker-compose config | Select-String "image:" | ForEach-Object { $_.Line.Split()[-1] }
# 打包镜像(需在项目目录执行)
docker save -o project_images.tar $images
加载镜像 docker load -i project_images.tar
注意 如果脚本闪退 或者格式有误 请手动每条执行