温馨提示×

centos docker怎么备份容器

小樊
48
2026-09-24 02:08:08
栏目: 智能运维

在 CentOS 上使用 Docker 备份容器,常见有 三种方式,根据你的需求选择:


一、备份容器为镜像(最常用 ✅)

适合:迁移、保存容器当前状态

1. 查看容器

docker ps -a

2. 提交容器为镜像

docker commit 容器名或ID 备份镜像名:标签

示例:

docker commit my_nginx my_nginx_backup:20260121

3. 导出镜像为文件

docker save -o my_nginx_backup.tar my_nginx_backup:20260121

4. 恢复(在另一台或重装后)

docker load -i my_nginx_backup.tar
docker run -d --name my_nginx my_nginx_backup:20260121

✅ 优点:简单、完整
❌ 缺点:不包含 volume 数据(见下)


二、备份容器数据卷(重要 ⚠️)

适合:数据库、配置文件等持久化数据

查看挂载卷

docker inspect 容器名 | grep Mounts -A 20

备份 volume 数据

docker run --rm -v 容器数据卷:/data -v /backup:/backup busybox \
tar czf /backup/data.tar.gz /data

或直接在宿主机:

cp -r /var/lib/docker/volumes/卷名/_data /backup/

三、导出容器文件系统(不推荐)

docker export 容器ID > container.tar

恢复:

docker import container.tar 新镜像名

❌ 会丢失元数据、端口、环境变量


✅ 推荐备份方案(实战)

commit 镜像 + 备份 volume

docker commit my_app my_app:bak
docker save -o my_app.tar my_app:bak
tar czf app_data.tar.gz /var/lib/docker/volumes/my_app_data

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

  • 容器类型(MySQL / Nginx / 自研?)
  • 是否用 docker-compose
  • 是否要 自动定时备份

我可以给你一套 CentOS 脚本方案。

0 踩