3.5 数据备份和恢复

实验目标
学会使用Docker进行数据备份和恢复,掌握容器数据迁移的基本方法
准备工作
需要先完成上节课的博客和数据库容器搭建

1.访问博客后台

  • 打开浏览器,输入博客后台地址:http://IP:端口号/admin
  • 确认可以正常访问后再进行备份操作

2.备份博客数据

bash

docker run --rm --volumes-from wordpress -v /root:/backup alpine tar -C /var/www/html  -cf /backup/wordpress.tar .
命令解释
  • --volumes-from wordpress:从wordpress容器获取数据卷
  • -v /root:/backup:把宿主机的/root目录挂载到容器的 /backup 目录
  • alpine:使用轻量级Alpine Linux镜像
  • tar cf:创建压缩包

3.备份数据库

bash

docker run --rm --volumes-from mysql -v /root:/backup alpine tar -C /var/lib/mysql -cf /backup/mysql.tar .

4.查看备份文件

  • 使用ls命令查看当前目录下的备份文件
  • 应该能看到wordpress.tarmysql.tar两个文件

备份文件示例

5.文件交换

  • 把这两个备份文件下载到本地电脑
  • 可以和同学交换备份文件进行恢复练习

6.清理环境

bash

rm mysql.tar
rm wordpress.tar
docker stop wordpress mysql
docker rm wordpress mysql
重要提示
恢复前请确保已经删除原有容器

1.解压备份文件

bash

mkdir -p /root/mysql
mkdir -p /root/wordpress

tar xf mysql.tar -C /root/mysql
tar xf wordpress.tar -C /root/wordpress

2.恢复数据库

bash

docker run -d \
--name mysql \
--network wordpress-network \
-v /root/mysql/:/var/lib/mysql \
mysql:8.3

3.恢复博客

bash

docker run -d \
--name wordpress  \
--network wordpress-network \
-p 80:80 \
-v /root/wordpress:/var/www/html \
wordpress

检查容器状态

完成检查
恢复完成后,访问博客页面检查是否所有数据都已恢复

博客数据已经恢复

相关内容