Volumes数据卷的优势
虽然Docker数据外部挂载机制提供了三种数据管理方式,但在实际使用中,用到更多的是Volumes和Bind mounts这两种数据管理方式。这两种数据管理方式中,Volumes完全由Docker管理的,是官方相对推荐的数据管理方式;而Bind mounts则要依赖于主机的目录结构。
与Bind mounts(绑定挂载)相比,Volumes(数据卷)有以下几个优势:
● 数据卷比绑定挂载更容易备份和迁移;
● 可以使用Docker CLI指令或Docker API来管理数据卷;
● 在Linux和Windows容器上都可以使用数据卷;
● 在多个容器之间可以更安全的共享数据卷;
● 数据卷驱动器允许在远程主机或云提供商上存储数据卷,并且加密数据卷的内容或添加其他功能;
● 一个新数据卷的内容可以由一个容器预填充。
此外,在容器的可写层中,数据卷通常是持久化数据更好的选择,因为使用数据卷并不会增加使用它容器的大小,而且数据卷的内容存在于给定容器的生命周期之外。如果我们的容器生成了非持久性状态的数据,那么可以考虑使用tmpfs mounts(tmpfs挂载),因为他可以避免永久存储数据,以及写入容器的可写层时增加容器的负担。