我有一个从中启动容器的MySQL镜像。
每次创建容器时,我都会设置dbs,导入sql-dump文件并创建用户。
在容器上工作时,我会创建存储在MySQL中的各种数据。
我想将这些额外的数据保存在数据卷容器[DVC]中,这样我就可以将DVC交给同事,然后从停下来的地方继续。
事实是,他还将启动一个MySQL容器,并且将从头开始重复初始过程。
如我所读,如果我从DVC挂载[--volumes-from
]卷[/etc/mysql
和/var/lib/mysql
],则将覆盖已经存在的数据,并且将无法读取它们。
可以将卷与已经包含数据的目录一起使用吗?
最佳答案
简短的答案是“否”,但这是因为您使用容器走错了路。
这就是为什么您的图片不应包含静态数据的原因。将静态内容保留在镜像中,将动态内容保留在数据容器中。 (还有一个启动脚本可以动态评估需要的任何内容)
您可能可以使用docker cp
将文件提取到数据容器中一次-或仅将本地文件系统直通挂载到新的挂载点,并在重新挂载之前仅将tar
/ rsync
与docker exec
一起使用-但实际上我会建议重建图像以始终使用数据容器存储数据。
关于docker - 创建其中包含预先存在的数据的Docker卷,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36152081/