【原创实践】Docker 镜像批量导出镜像与导入镜像
2026/7/28 22:51:54 网站建设 项目流程

1. 批量保存镜像到.tar文件

#!/bin/bash# 保存目录SAVE_DIR=/root/docker_images_backupmkdir-p$SAVE_DIR# 获取本地所有镜像列表 (Repository:Tag + IMAGE ID)docker images --format"{{.Repository}}:{{.Tag}} {{.ID}}"|whilereadimgid;do# 如果 TAG 是 <none>,使用 IMAGE ID 代替if[[$img==*"<none>"*]];thenimg=$idfi# 生成文件名,将 / 和 : 替换为 _filename=$(echo$img|sed's/[\/:]/_/g').tarecho"Saving$img->$SAVE_DIR/$filename"# 执行 docker save 导出镜像docker save -o$SAVE_DIR/$filename$imgdone

✅ 功能说明:

  • 自动处理<none>标签的镜像。

  • 每个镜像导出为独立 tar 文件,命名格式REPOSITORY_TAG.tar

  • 方便迁移和备份。


2. 批量加载镜像

#!/bin/bash# 镜像 tar 文件目录LOAD_DIR=/root/docker_images_backup# 遍历目录下所有 tar 文件fortarfilein$LOAD_DIR/*.tar;doecho"Loading$tarfile..."docker load -i$tarfiledone

✅ 功能说明:

  • 自动加载目录下所有.tar文件到本地 Docker。

  • 可以用于迁移到新服务器或重建环境。


3. 使用示例

  1. 保存镜像:
bashsave_all_images.sh
  1. 在新服务器加载镜像:
bashload_all_images.sh

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询