温馨提示×

怎样在centos备份docker

小樊
42
2026-09-17 23:01:12
栏目: 智能运维

在 CentOS 上备份 Docker,通常分为备份镜像、容器、数据卷、以及 Docker 相关配置几个部分。下面按常见场景给你一个完整、实用的方案。


一、备份 Docker 镜像

1. 查看已有镜像

docker images

2. 导出单个镜像

docker save -o nginx.tar nginx:latest

3. 导出多个镜像(推荐)

docker save -o all_images.tar $(docker images -q)

✅ 恢复镜像:

docker load -i nginx.tar

二、备份容器(可选)

⚠️ 一般不建议直接备份容器,而是重新用镜像 + 数据卷恢复

导出容器为镜像(应急用)

docker commit my_container my_container_backup
docker save -o my_container_backup.tar my_container_backup

三、备份 Docker 数据卷(重点)

1. 查看数据卷

docker volume ls

2. 备份某个数据卷

假设数据卷名是 mysql_data:

docker run --rm \
  -v mysql_data:/volume \
  -v /backup:/backup \
  busybox \
  tar cvf /backup/mysql_data.tar /volume

/backup 是宿主机目录,可改成你自己的路径

3. 恢复数据卷

docker run --rm \
  -v mysql_data:/volume \
  -v /backup:/backup \
  busybox \
  tar xvf /backup/mysql_data.tar -C /

四、备份 Docker 配置文件(CentOS)

1. Docker 主配置

cp /etc/docker/daemon.json /backup/daemon.json.bak

2. 系统服务配置(如有)

cp -r /etc/systemd/system/docker.service.d /backup/

五、备份 docker-compose 项目(强烈推荐)

如果你用 docker-compose:

tar czvf my_project.tar.gz my_compose_project/

包括:

  • docker-compose.yml
  • .env
  • 挂载目录
  • 数据目录

六、一键备份脚本示例(CentOS)

#!/bin/bash
BACKUP_DIR=/backup/docker_$(date +%F)
mkdir -p $BACKUP_DIR

# 备份所有镜像
docker save -o $BACKUP_DIR/images.tar $(docker images -q)

# 备份 compose 项目
cp -r /opt/my_project $BACKUP_DIR/

# 备份配置
cp /etc/docker/daemon.json $BACKUP_DIR/

echo "Docker backup done: $BACKUP_DIR"
chmod +x backup_docker.sh
./backup_docker.sh

七、常见备份策略建议

  • ✅ 镜像:定期 docker save
  • ✅ 数据:必须备份 volume
  • ✅ 配置:daemon.json 必备份
  • ❌ 不推荐只备份容器

如果你能告诉我:

  • 用的是 docker 还是 docker-compose
  • 跑的是什么服务(MySQL / Nginx / 自建应用)

我可以给你更针对性的备份方案。

0 踩