一 容器数据卷

挂载数据卷:容器与主机数据共享,容器内数据互通,持久化数据;有点像redis主从复制,可以互相修改;容器关闭后,修改主机文件,重启容器后,数据会同步过去;

docker inspect 容器id 查看是否绑定成功,权限是什么

用命令-v添加容器数据卷

1.docker run -it -v 宿主机目录路径:容器内目录路径 容器id/name

2..docker run -it -v 宿主机目录路径:容器内目录路径:ro 容器id/name 容器内只读不可写 不能新建不能修改 ro:readonly

3.docker run -it -v 宿主机目录路径:容器内目录路径 -v 宿主机目录路径:容器内目录路径 容器ID/name 添加多个容器卷

用Dockerfile添加

1.新建镜像文件夹 mydocker

2.新建Dockerfile文件,可用VOLUME指令添加一个或多个容器数据卷

3.指令格式:VOLUME["VolumeContainer","VolumeContainer2","VolumeContainer3"] 添加是哪个容器数据卷。出于可移植和分享的考虑,dockerfile中不能使用-v方式实现,由于宿主机目录是依赖于特定宿主机的,所以不能指定宿主机 目录,dockerfile会自动生成一个目录,用docker inspect查看

docker 容器数据卷

4.写入dockerfile文件

 

docker 容器数据卷

等价于docker run -it -v /host1:/dataVolumeContainer1 -v /host2:/dataVolumeCcontainer2 centos /bin/bash

 

docker 容器数据卷

5.docker build -f(file) /mydocker/Dockerfile -t wyh/centos(自己起的镜像名字) 会一层一层的进行build 最上面一层是 wyh/centos 可读可写的

6.docker run -it wyh/centos 可实现数据共享

volumes-from

命名一个容器挂在数据卷,指定为父容器,其他容易挂载这个父容器实现数据共享

docker 容器数据卷

子容器挂载父容器:

1.父容器删除之后,其他子容器的数据还是互通的

2.删除子容器,其他容器的数据也是互通的

3.只要这个数据卷有容器在使用着,就会一直存在

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-02
  • 2021-06-10
  • 2021-06-23
  • 2021-05-13
  • 2021-07-09
相关资源
相似解决方案