"官方" docker备份策略 - 一致性如何?

时间:2014-11-22 00:03:22

标签: backup docker consistency

在docker中管理和备份数据的suggested strategy看起来像这样:

docker run --name mysqldata -v /var/lib/mysql busybox true
docker run --name mysql --volumes-from mysqldata mysql
docker run --volumes-from mysqldata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /var/lib/mysql

然而,当我以这种方式备份运行容器时,我不会获得一致的备份,是吗? 我知道像mysqldump这样的工具,但是如果我需要备份,例如,不断添加和删除文件的文件夹会怎样?

1 个答案:

答案 0 :(得分:1)

您面临的根本问题,即备份更改文件与docker无关。使用rsnapshotdirvish等工具备份到卷中,然后使用上面提到的方法根据您的可靠性要求将这些备份移动到比亚马逊s3或冰川更安全的地方。

无论是使用-v开关从另一个容器还是主机vm安装卷,对文件的更改都会以或多或少的实时反映在所有容器(或主机虚拟机)中。 (由于Docker在主机fs之上使用的AUFS有一些延迟,但它并不大)。如果备份容器一直在运行,它可以继续进行备份,文件将始终反映mysql容器看到的最新文件。

编辑:为清楚起见。