Docker Volume 数据迁移
以 Ghost 博客平台的迁移为例,该容器创建时通过 -v
参数创建了名为 ghost_data
的数据卷。
$ sudo docker volume ls
DRIVER VOLUME NAME
local ghost_data
数据导出
这里通过将数据卷挂载到一个临时容器并通过 tar
执行文件打包:
$ sudo docker run --rm \
-v ghost_data:/source \
-v $(pwd):/backup \
alpine sh -c "cd /source && tar cvf /backup/ghost_data.tar ."
执行完毕后,打包好的数据位于当前目录的 backup
文件夹下,将备份的数据文件传输到目标主机。
数据还原
在目标主机上创建新的 ghost 容器,依然使用 -v
参数创建名为 ghost_data
的数据卷。
然后再次通过临时容器挂载数据卷,使用 tar
解压数据到卷中:
$ sudo docker run --rm \
-v ghost_data:/dist \
-v $(pwd):/backup \
alpine sh -c "cd /dist && tar xvf /backup/ghost_data.tar"
注意:数据迁移完成后需要重启 ghost 容器。
会员讨论区