docker容器数据卷

是什么

docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据作为镜像的一部分保存下来,那么当容器删除后,数据自然就没有了。为了能保存数据在docker中我们使用数据卷。

特点

  1. 数据卷可在容器之间共享或重用数据
  2. 卷中的更改可以直接生效
  3. 数据卷中的更改不会包含在镜像更新中
    4.数据卷的生命周期一直持续到没有容器使用它为止。

容器内添加

1.直接命名添加

docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名

docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名
2. docketFile添加

JAVAEE hello.Java -->hello.class

Docker images ====> DockerFile

    
    1. 根目录下新建mydocker文件夹并进入
    2.可在dockerfile中使用VOLUME指令来给镜像添加一个或多个数据卷
    
    VOLUME["/dataVolumeContainer","dataVolumeContainer2","/dataVolumeContainer3"]
    说明:
    出于可移植和分享的考虑,用-v 主机目录:容器目录这种方法不能够直接在dockerfile中实现,由于宿主机目录是依赖特定宿主机的,并不能够保证在所有的宿主机上都存在这样的特定目录。
    
    3.File构建
    # volume test
    FROM centos
    VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
    CMD echo "finished,--------success1"
    CMD /bin/bash
    
    docker run -it -v /host1:/dataVolumeCantainer1 -v /host2:/dataVolumeContainer2 centos /bin/bash
    
    4.build后生成镜像 
    docker build -f /mydocker/DockerFile -t  zxt/centos
    docker build -f dockerfile的绝对路径  -t  命名空间/镜像名字 .
        
    5.run 容器
    

数据卷容器

命名的容器挂载数据卷,其它容器通过挂载这个(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器。

容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器使用它为止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值