如何备份docker images
2026/6/12 18:16:37 网站建设 项目流程

备份Docker镜像主要有以下几种方式:

方法一:docker save/docker load(推荐)

备份单个镜像

bash

复制

# 保存镜像为tar文件(包含所有标签) docker save -o backup.tar <镜像名>:<标签> # 示例 docker save -o learn-server.tar blue/learn-server:latest

备份多个镜像

bash

复制

# 将多个镜像打包到一个文件 docker save -o multiple-images.tar image1:latest image2:v1.0 # 示例 docker save -o my-images.tar blue/learn-server nginx:latest mysql:5.7

恢复镜像

bash

复制

docker load -i backup.tar

压缩优化

bash

复制

# 备份时直接压缩(可减小50-70%体积) docker save <镜像名> | gzip > backup.tar.gz # 恢复时解压 gunzip -c backup.tar.gz | docker load

方法二:推送到私有仓库

bash

复制

# 1. 给镜像打标签 docker tag blue/learn-server:latest my-registry.com:5000/blue/learn-server:backup # 2. 推送到私有仓库 docker push my-registry.com:5000/blue/learn-server:backup # 3. 恢复时从仓库拉取 docker pull my-registry.com:5000/blue/learn-server:backup

方法三:备份Docker存储目录(不推荐)

bash

复制

# 停掉Docker服务 sudo systemctl stop docker # 备份整个存储目录(需root权限) sudo tar -czf docker-backup.tar.gz /var/lib/docker # 重启Docker sudo systemctl start docker

注意:此方法风险高,只适用于完整环境迁移

方法四:使用第三方工具

  • Portainer:图形化管理,支持导出镜像

  • Skopeo:无需Docker守护进程,支持不同仓库间复制

最佳实践建议

表格

复制

场景推荐方法命令示例
单机备份docker savedocker save -o app.tar app:v1.0
团队共享私有仓库docker push registry/app:tag
迁移服务器save+loaddocker save app:v1.0 | ssh new-server "docker load"
生产环境私有仓库+版本标签使用Harbor/Nexus管理

注意事项

  • docker save会保留镜像历史和元数据

  • 导出文件可能很大,建议压缩

  • 定期备份重要镜像

  • 私有仓库方式更灵活,适合持续集成

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

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

立即咨询