数据库到底适不适用于容器,有人曾给出否定答案:数据库不适合Docker及容器化的7大原因,但这不影响我们去了解学习docker,学习反对的人的想法会为你的思考查漏补缺。
我们要做的事是如何数据持久化,如何让多容器共享数据以及数据的备份还原。关于volume,bind mount,tmpfs mount的介绍和用法,详情请看docker文档:Use volume, Use bind mounts, Use tmpfs mounts
先看一张图:来自于Use volume
这张图很好的说明了三者的关系,bind mount是直接挂载的宿主机的文件目录,将宿主机的目录映射到容器中;volume是数据卷容器;tmpfs mount是将数据写入缓存,容器停止后就会被清理。
挂载宿主机目录时数据覆盖有两个规则:来自docker数据卷应用场景
- 如果宿主机目录下内容为空,容器映射目录有数据,则会把容器数据复制到宿主机目录
- 如果宿主机目录下内