数据卷的概念
数据卷是宿主机中的一个目录或文件,容器里面的目录和容器的目录绑定起来后,宿主机中的目录就被成为数据卷。当数据卷绑定好后,对方的修改会立即同步,一个数据卷可以被多个容器挂载。
容器卷的作用
容器数据持久化
外部机器和容器间接通信
容器之间数据交换
配置数据卷
在启动容器时,使用-v参数设置数据卷
docker run ... -v 宿主机目录 : 容器内目录
需要注意的是目录必须是绝对路径,如果目录不存在则会自动创建,可以挂载多个数据卷使用多个-v即可
如果多个容器挂载宿主机的同一数据卷,那这些容器就可以进行数据交换了
数据卷容器
docker提供了一种新的便捷方式,即可以将这些需要数据交换的容器统一挂载到一个叫Data container的容器上,该容器再挂载到宿主机,则这些容器之间都可以进行数据交换了
配置数据卷容器
下面这条命令代表创建并启动了数据卷容器c3,需要注意的是这种格式的目录映射只有右半部分,docker会自动在宿主机分配一个目录用于挂载
docker run -it --name=c3 -v /volume centos
然后我们可以创建c1和c2容器,同时将他们挂载到刚刚创建的数据卷容器c3上
docker run -it --name=c1 --volumes-from c3 centos
docker run -it --name=c2 --volumes-from c3 centos
需要知道的是如果现在c3宕机了,也不会影响c1和c2的数据交换