温馨提示×

CentOS Docker如何备份与恢复

小樊
69
2025-03-31 15:17:27
栏目: 智能运维

在CentOS系统上使用Docker进行数据备份与恢复,可以采用以下几种方法:

使用mongodumpmongorestore备份与恢复MongoDB数据库

  1. 备份
  • 进入容器:dockerexec -it mongo /bin/bash
  • 执行数据备份命令:mongodump -h 127.0.0.1:27017 -u 用户 -p 密码 -d 数据库名称 -o /dump
  • 打包备份文件夹:tar -zcvf test.tar.gz /dump
  • 退出容器:exit
  • 将备份文件复制至宿主机器:docker cp 容器名:/dump/test.tar.gz /mnt/docker-data/mongo/dump
  1. 恢复
  • 将文件复制至容器内:docker cp /mnt/docker-data/mongo/dump/test.tar.gz mongo:/dump
  • 进入容器:dockerexec -it mongo /bin/bash
  • 进入备份文件夹:cd /dump
  • 解压备份文件至当前文件夹:tar -xzvf /dump/test.tar.gz
  • 执行数据还原命令:mongorestore -h 127.0.0.1:27017 -d 数据库名称 --dir /dump -u 用户 -p 密码

使用Docker数据卷容器备份与恢复

  1. 备份
  • 创建一个带有数据卷的容器用于备份:docker run --name data-volume -itd --volumes-from [container name] centos /bin/bash
  • 在容器内创建备份文件,例如:touch lucky.txt
  • 退出容器并备份数据卷:docker cp data-volume:/lucky.txt /backup
  1. 恢复
  • 创建一个新的容器挂载需要恢复的数据卷:docker run --name restore-container --volumes-from data-volume -itd centos /bin/bash
  • 恢复数据:docker cp /backup/lucky.txt restore-container:/lucky.txt

使用tar命令备份与恢复文件或目录

  1. 备份
  • 创建备份目录:sudo mkdir /backup
  • 编写备份脚本:echo '#!/bin/bash tar cvf /backup/backup.tar /path/to/backup' > /path/to/backup.sh
  • 设置脚本为可执行:chmod +x /path/to/backup.sh
  • 设置定时任务:crontab -e 添加定时任务
  1. 恢复
  • 解压备份文件并将其复制回原始位置:tar xvf /backup/backup.tar -C /path/to/restore

请注意,备份与恢复操作需要具有相应的权限,建议在操作前确认当前用户具有执行这些操作的权限。此外,对于数据库的备份与恢复,建议在低峰时段进行,以减少对业务的影响。在实际操作中,还应该考虑备份数据的存储安全和备份的验证机制,确保备份数据的完整性和可用性。

0