如果您迟早使用Docker(在一个容器中或作为一系列链接的容器)设置应用程序堆栈,则需要序列化用户数据 - 例如数据库。从我到目前为止看到的,这可以通过两种方式完成
这两种方法都没有问题 - 它们易于实施并且工作得很好。但是,有一些事情我不清楚:
我非常感谢任何帮助。
答案 0 :(得分:4)
当数据容器实际处于活动状态时,实际写入的数据。例如,写入该容器内的/ var / lib / mysql文件夹的文件最终会出现在主机文件系统的某个位置吗?
未从主机挂载的卷存储在此处: 的/ var / lib中/搬运工/体积/
将主机系统子文件夹作为卷映射到Docker容器的风险是什么,请记住,现在容器的用户能够直接写入主机的文件系统
只要您的容器未以privileged运行,即使用--privileged = true标志,您的容器就无法访问设备,并且无法访问主机fs的几个敏感部分。其次默认情况下,docker中的所有进程都以root身份运行,这给了它们容器内的很多权限,并且由于docker不能保证安全的沙箱,但是可能会有人破解容器内的进程。因此,您应该使用docker文件中的docker USER命令或-u标志以备用用户身份运行您的进程。
最后,是否有一种简单的方法来限制该映射卷的大小?
您必须在docker之外执行此操作,可能是创建一个单独的逻辑驱动器并根据您的需要调整它。