备份docker中运行的container

备份container涉及到备份container中的image和container使用的data。

备份image可以参考这里。

备份之前需要把运行中的程序停下来docker-compose down

备份数据

命令示例如下:

docker run --rm --mount source=<your_volume_data>,destination=/volume -v ${PWD}/backup:/backup alpine tar -cjf /backup/<your_volume_data>.tar.bz2 -C /volume ./

这个命令里假设你本地存在一个backup的文件夹,备份的数据将会保存在backup中

恢复数据

docker run --rm --mount source=<your_volume_data>,destination=/volume -v ${PWD}/backup:/backup alpine sh -c "rm -rf /volume/* /volume/..?* /volume/.[!.]* ; tar -C /volume/ -xjf /backup/<your_volume_data>.tar.bz

这个命令里假设你本地存在一个backup的文件夹,backup中<your_volume_data>.tar.bz是待恢复的数据

发表评论

邮箱地址不会被公开。 必填项已用*标注