docker的容器数据卷

  • 实现容器中的数据持久化,主机与容器直接数据共享

  • 一言以蔽之,文件夹映射,共享文件夹

  • docker容器产生的数据,如果不用commit生成新的镜像,那么可能会丢失

  • 特点:

    • 数据卷可在容器之间共享或重用数据
    • 卷中的更改可以直接生效
    • 数据卷中的更改不会包含在镜像的更新中
    • 数据卷的生命周期一直持续到没有容器用它为止
  • 直接命令添加

    • docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
      • 实际上就是将宿主和容器的文件夹进行映射
    • docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名
      • 容器只读,不可写,read only
  • 容器关闭后,重新打开,相同的映射方法,数据依然在

    • 因为数据是放到宿主机上的,那肯定在啊。。还用想么
  • dockerFile添加

    • javaEE hello.java ----> hello.class

    • Docker images -----> dockerFile

    • dockerFile是镜像的描述文件

    • 先编写dockerFile

    • vim dockerFile

    • FROM centos
      VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"] //上面两个是宿主机挂载的文件夹
      CMD echo "finished,----------success"
      CMD /bin/bash
      
    • build 生成镜像,将dockerFile文件build成新的镜像

      • docker build -f /xxxx/dockerFile -t /命名空间/镜像名
    • 对应的主机目录在哪:

      • docker会给默认的宿主机地址
      • 用docker inspect可以看到
      • 新版的docker在mounts里面
  • 数据卷容器:已经有一个容器挂载了数据卷,而其他的容器通过挂载之前的这个容器实现数据共享,那之前的容器叫数据卷容器

    • 插排上 插 插排,将套娃进行到底
    • 命令为: docker run -it --name dc02 --volumes-from dc01 镜像名
    • 即在运行容器时,就指定挂载哪个容器
    • 它们其实都绑定的宿主,像个总线一样
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值