Docker容器数据卷

问:容器数据卷是什么?

答:类似redis的rdb与aof。将docker容器内的数据保存进宿主机的磁盘中持久化,即使宕机         也不会导致数据丢失。

问:容器数据卷有什么特点?

答: 1、数据见在容器之间共享或重用数据。

        2、数据卷中的更改可以直接实时生效。

        3、数据卷中的更改不会包含在镜像的更新中

        3、数据卷的生命周期一直持续到没有容器使用它为止。


运行一个带有容器卷存储功能的容器实例:

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名
docker run -it --privileged=true -v /tmp/host_data:/tmp/docker_data --name=u1 ubuntu

Docker挂载主机目录访问如果出现cannot open directory .: Permission denied

解决办法:在挂载目录后多加一个--privileged=true参数即可


测试:

在 u1容器内指定目录下/tmp/docker_data 新建文件。

该文件会实时同步到宿主机指定目录下/tmp/host_data。(反之亦然) 


若此时新建一个容器名为u2,并且u2容器也想使用这个共享目录应该怎么弄?

答:使用容器u2继承u1的容器卷。

docker run -it --privileged-true --volumes-from u1 --name u2 ubuntu

容器间可以相互继承容器卷。


小提示:

        默认情况下是允许容器卷可读写的(:rw > read、write):        

        docker run -it --privileged=true -v /tmp/host_data:/tmp/docker_data:rw --name=u1 ubuntu

        如果想让容器卷设置为只读模式可设置(:ro > read only):

        docker run -it --privileged=true -v /tmp/host_data:/tmp/docker_data:ro --name=u1 ubuntu


自此!代表着宿主机的 /tmp/host_data 与容器内的 /tmp/docker_data 目录公用数据,两目录之前数据互通,即使容器宕机,宿主机依旧保持编写数据,等待容器重新启动后,数据依旧保持一致。

类似于硬链接。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值