温馨提示×

centos docker怎么备份

小樊
43
2026-10-23 08:35:11
栏目: 智能运维

在 CentOS 上使用 Docker 时,备份通常分为几种情况:容器备份、镜像备份、数据卷备份、以及整个 Docker 环境备份。下面按常见场景给你一套实用方案。


一、备份 Docker 镜像

适合:迁移环境、重装系统前保存镜像

1. 查看镜像

docker images

2. 导出镜像

docker save -o nginx.tar nginx:latest

3. 导入镜像(恢复)

docker load -i nginx.tar

二、备份容器(含配置)

适合:容器已运行,想完整保存当前状态

1. 提交容器为镜像

docker commit my_container my_backup_image

2. 导出镜像

docker save -o my_backup_image.tar my_backup_image

⚠️ 注意:

  • 容器里的数据卷(volume)不会自动备份
  • 推荐用 docker run 重新创建容器而非依赖 commit

三、备份数据卷(最重要)

数据都在 volume 里,必须单独备份

方法 1:使用临时容器备份 volume

假设 volume 名为 mysql_data

docker run --rm \
  -v mysql_data:/data \
  -v /backup:/backup \
  centos \
  tar czf /backup/mysql_data.tar.gz -C /data .

恢复:

docker run --rm \
  -v mysql_data:/data \
  -v /backup:/backup \
  centos \
  tar xzf /backup/mysql_data.tar.gz -C /data

方法 2:直接备份宿主机目录(如果 volume 是 bind mount)

tar czf /backup/app_data.tar.gz /opt/app/data

四、备份 docker-compose 项目

适合:生产环境最常见

1. 备份文件

tar czf docker_app.tar.gz docker-compose.yml .env data

2. 恢复

tar xzf docker_app.tar.gz
docker-compose up -d

五、备份整个 Docker 环境(系统级)

适合:整机迁移、灾难恢复

1. 停止 Docker

systemctl stop docker

2. 备份 Docker 根目录

tar czf /backup/docker_full.tar.gz /var/lib/docker

3. 恢复

systemctl stop docker
rm -rf /var/lib/docker
tar xzf /backup/docker_full.tar.gz -C /
systemctl start docker

六、推荐生产备份策略

✅ 镜像:docker save
✅ 数据:volume tar 或数据库 dump
✅ 配置:docker-compose.yml
✅ 定时任务:crontab + rsync


如果你愿意,可以告诉我:

  • 你跑的是什么服务(MySQL / Nginx / 自建应用)
  • 用的是 volume 还是目录挂载
  • 是 单机还是集群

我可以给你一套可直接用的备份脚本。

0 踩