当前位置:   article > 正文

Docker容器的数据卷详解_docker 数据卷能支持只写吗

docker 数据卷能支持只写吗

一、数据卷概念

1、数据卷是宿主机中的一个目录或文件

2、当容器目录和数据卷目录绑定后,对方的修改会立即同步

3、一个数据卷可以被多个容器同时挂载

4、一个容器也可以挂载多个数据卷

简单理解:有点类似我们的Redis里面的rdb和aof文件

二、数据卷的作用

1、容器数据持久化

2、外部机器和容器间接通信

3、容器之间数据交换

三、配置数据卷

docker run -id --privileged=true -v /宿主机绝对路径目录:/容器内目录 --name=容器名 镜像名

注:文件目录不存在时会自动创建文件目录

 四、容器卷和主机互通互联

1、在容器内/tmp/myhostdata目录下创建文件1.txt,并向文件写入内容,然后查看宿主机/myhostdata是否创建了同样文件1.txt

 2、在宿主机内/myhostdata目录下创建文件2.txt,并向文件写入内容,然后查看容器/tmp/myhostdata目录是否创建了同样文件2.txt

 3、查看数据卷是否挂载成功

docker inspect 容器ID

 五、容器卷ro和rw读写规则

说明:默认情况下,容器卷是可读可写的,但是在特殊场景下,我们想要容器实例内部被限制,只能读取不能写,也就是容器内只能读取宿主机文件数据,如果宿主机写入内容,可以同步给容器内,容器可以读取到。

# 可读可写
docker run -id --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw --name=容器名 镜像名

# 只能读不能写
docker run -id --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro --name=容器名 镜像名

六、容器卷之间的继承

步骤一:容器1完成和宿主机的映射

步骤二:容器2继承容器1的卷规则

docker run -it --privileged=true --volumes-from 父类  --name=u2 ubuntu

说明:当容器1挂掉之后,宿主机和容器2之间依旧可以正常同步数据卷内容,当容器1重启之后,会自动同步宿主机和容器2的数据卷,只要实现了容器继承卷的规则,不管是在哪个容器或者宿主机上更新数据卷内容,都会同步其他几个数据卷

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/1016198
推荐阅读
相关标签
  

闽ICP备14008679号