Featured image of post Docker 迁移数据卷

Docker 迁移数据卷

以迁移 uptim-kume 容器为例,记录备份和迁移 Docker 数据卷的过程

备份

首先,我们需要知道 uptime-kume 的数据存放位置,通过官方文档可以知道是在 /app/data

因此可以使用以下指令进行备份:

1
2
3
4
5
docker run --rm \
--volumes-from uptime-kuma \
-v $(pwd):/backup \
alpine \
tar cvf /backup/backup.tar /app/data/

参数说明:

参数说明
--rm容器退出后自动删除容器
--volumes-from uptime-kuma挂载 uptime-kuma 容器的数据卷
-v $(pwd):/backup挂载当前目录到容器的 /backup 目录
alpine使用 alpine 镜像
tar cvf /backup/backup.tar /app/data/在容器中执行 tar cvf /backup/backup.tar /app/data/ 命令

执行后应该会在当前目录中多出一个 backup.tar 文件,这个文件就是我们的数据卷备份文件。

移动

使用 scp 命令将备份文件传输到目标服务器上。

1
scp backup.tar user@172.16.111.50:~/

恢复

首先保证目标服务器上已经运行了 uptime-kuma 容器,然后使用以下指令进行恢复:

1
2
3
4
5
docker run --rm \
--volumes-from uptime-kuma \
-v $(pwd):/backup \
alpine \
tar xvf /backup/backup.tar

因为压缩时带了绝对路径,所以不需要 -C 来指定解压路径。

参考资料

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计