使用预先存在的数据创建Docker卷

时间:2016-03-22 10:36:32

标签: docker docker-volume

我有一个MySQL图像,我从中启动了一个容器。 我设置dbs,导入sql-dump文件并在每次创建容器时创建用户。

当我处理容器时,我创建了存储在MySQL中的各种数据。

我想将这些额外的数据保存在数据卷容器[DVC]中,这样我就可以将DVC交给同事,并从我停止的地方继续。

问题是他还将启动一个MySQL容器,初始程序将从头开始重复。

正如我所读到的,如果我从DVC挂载[--volumes-from]卷[/etc/mysql/var/lib/mysql],则现有数据将被覆盖且无法读取。

是否可以使用包含已包含数据的目录的卷?

1 个答案:

答案 0 :(得分:1)

简短的回答是否定的,但那是因为你的容器走错了路。

这就是您的图片不应包含静态数据的原因。保持图像中的静态内容,以及数据容器中的动态内容。 (以及动态评估需要它的任何东西的启动脚本)

您可以使用docker cp将文件解压缩到一个数据容器中,或者直接将本地文件系统挂载到新的挂载点,然后使用tar / {{ 1}}在重新安装之前使用rsync - 但实际上我建议重建图像以始终使用数据容器来获取数据。