5-1、容器数据卷是什么
5-1-1、有点类似于redis中的rdb和aof文件
5-2、容器数据卷能干嘛
5-2-1、容器的持久化
5-2-2、容器间继承+共享数据
5-2-3、特点:
1、卷可在容器之间共享或重用数据
2、卷中的更改可以直接生效
3、卷中的更改不会包含在镜像的更新中
4、卷的生命周期一直持续到没有容器使用它为止
5-3、数据卷
5-3-1、容器内添加
1、直接命令添加
1、命令
docker run -it -v /宿主机绝对路径:/容器内路径 --privileged=true 镜像名
2、查看数据卷是否挂载成功
3、容器和宿主机之间数据共享
4、容器停止退出后,主机修改后数据是否同步 --- 完全同步
5、命令(带权限)
docker run -it -v /宿主机绝对路径:/容器内路径:ro 镜像名
2、DockerFile添加
1、根目录下新建mydocker文件夹并进入
2、可在Dockerfile中使用VOLUME指令来给镜像添加一个或多个数据卷
3、File构建
4、build后生成镜像
5、run容器
6、通过上述步骤,容器内的卷目录地址已经知道
7、主机对应默认地址
3、备注
5-4、数据卷容器
5-4-1、是什么
命名的容器挂载数据卷,其它容器通过挂载这个(父容器)实现数据共享。挂载数据卷的容器,称为数据卷容器
5-4-2、总体介绍
1、以上一步新建的镜像zzyy/centos为模板并运行容器dc01/dc02/dc03
2、它们已经具有数据卷
1、/dataValumeContainer1
2、/dataValumeContainer2
5-4-3、容器间传递共享(--volumes-from)
1、先启动一个父容器dc01
在dataValumeContainer2新增内容
2、dc02/dc03继承自dc01
1、docker run -it --name dc02 --volumes-from dc01 zzyy/centos
2、dc02/dc03分别在dataValumeContainer2各自新增内容
3、回到dc01可以看到dc02/dc03各自添加的都能共享了
4、删除dc01,dc02修改后dc03可访问
5、删除dc02,dc03可访问
6、新建dc04继承dc03后再删除dc03,dc04可访问
7、结论:容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器使用它为止