导航菜单

docker save & docker load —— 镜像的备份与迁移

陆兴东 2026-06-04 11 浏览 Docker

用户必学

什么时候用?你在一个地方配置好了一个 Docker 服务,想把它的镜像复制到另一台机器上——比如从测试服务器迁移到生产环境,或者把群晖上的配置备份到另一台 NAS。

导出镜像(save)—— 把镜像打包成文件:

docker save jellyfin/jellyfin:latest -o jellyfin_backup.tar

输出示例:

sha256:abc123...写入了 jellyfin_backup.tar (400MB)

参数解释:

  • -o:输出到文件(output)

  • jellyfin_backup.tar:备份文件名,建议加上日期,如 jellyfin_20250525.tar

同时备份多个镜像:

docker save -o all_images.tar nginx:latest jellyfin/jellyfin redis:latest

导入镜像(load)—— 从文件恢复到 Docker:

docker load -i jellyfin_backup.tar

输出示例:

Loaded image: jellyfin/jellyfin:latest

导入后验证:

docker images | grep jellyfin

进阶场景:跨设备迁移完整服务配置

实战中,完整的迁移流程是这样的:

# 第一步:在原机器上导出
docker save jellyfin/jellyfin:latest nginx:latest -o backup_20250525.tar

# 第二步:通过 scp 或 U盘复制到目标机器
scp backup_20250525.tar user@192.168.1.100:/volume1/docker/backup/

# 第三步:在目标机器上导入
docker load -i backup_20250525.tar

# 第四步:用 docker-compose 恢复服务
cd /volume1/docker/
docker-compose up -d