Docker数据卷容器
简介:
如果需要在容器之间共享一些持续更新的数据,可以用建立数据卷容器的方式,数据卷容器其实就是一个普通容器,专门用它提供数据卷供其它容器挂载
例:sudo socker run -it -v /dbdata --name dbdata centos-zdx /bin/bash 创建了一个名为dbdata的容器将/dbdata作为数据卷目录
然后其他容器通过使用–volumes-from 命令来挂载数据卷容器中的数据卷
例:sudo docker run -it --name db1 --volumes-from dbdata centos-zdx /bin/bash 创建了一个名为db1的容器挂载了数据卷容器dbdata中的数据
注意:
db1和dbdata这两个容器任何一方修改了/dbdata数据卷目录下的内容 另一方都能看到 都会被影响
如果删除了挂载的容器(dbdata、db1)数据卷并不会被自动删除。如果想要删除一个数据卷,必须在删除最后一个还挂载着它的容器时使用docker rm -v来指定同时删除关联的容器。
挂载一个主机目录作为数据卷同步到容器中
例:sudo docker run -it -p 37455:7890 -v /usr/test1:/opt/webapp --name new4 centos-zdx /bin/bash
其中“-v /usr/test1:/opt/webapp”表示将宿主机中/usr/test1的这个目录作为数据卷挂在到容器的/opt/webapp目录下 宿主机test1中的文件将会【实时】同步到容器/opt/webapp目录中
如果用“-v /usr/test1:/opt/webapp:ro”这个命令加上ro 表示容器内挂载的数据卷的数据将以只读的形式存在 无法被修改。