docker的存储

序言

    在使用docker的时候,我们的数据存储在哪里呢?容器只是运行在一个用户空间的程序,那么数据放在本地磁盘中?


    我发现如果要说docker的存储,这个话题会很长很长。。。所以针对昨天提出的问题来展开说一点点。。。


我是root,为何不能操控一切

    

    如上图所示,将本机的一个文件挂载到容器的文件之中,然后进入之后,发现并不能查看或者打开这个文件,发现权限不足。


    我是root,为啥我不能操作一切指令。。。莫非这是一个假的root。。。


    在创建容器的时候,只要加一个选项即可,就是--privileged,也就是让容器有权限来操作这个文件:

    在使用这种方式启动之后,如果容器修改了这个文件,那么本机上的文件也会发生改变,因为是相当于挂载上去的。看有的地方说,当修改此文件的时候,inode会发生改变,在这里没有发生此种情况。


    有人说是因为不是挂载的目录,所以使用挂载目录的方式来进行测试,如下:

    

    在查看挂载的数据卷的时候,可以使用如下命令(可以看到其实两个都是有读写权限的):

    

    主要的区别在如下所示:


    为啥有的人直接挂载就可以使用了,而这个不行呢?主要是因为存储的驱动 不同,如下是此处使用的驱动:


    至于为啥这个驱动要使用这个选项,那么我想,只能从源码去找答案了。。。以上就是将本机的文件共享给容器的操作了

    在使用docker info的时候,也可以看到相关的存储驱动。。。不过生产环境使用的都是overlay


将主机上的文件复制到容器中

    当主机上的文件和容器需要相互交互的时候,其实使用docker cp命令是一样的,这个命令和scp的用法基本上相同,如下所示

    基本的使用方法都是docker cp src dst。

    从以上看出重启容器之后,文件都不会丢失,这个只是一个读写层。


    再很多的时候,我们说容器是无状态的,其实表示的意思是容器中的数据不需要持久化保存,从而当这个容器损坏后,我们可以直接将这个容器删除,然后重新新建一个容器来进行运行。。。。这种很酷,反正不怕数据修改错了,但是当这个机器物理损坏之后,如果重新拉取镜像文件,那么在其中做的所有升级都丢失了,所以每次如果要保存相关的配置,应该将此容器生成镜像文件,从而不会担心配置丢失。

使用数据容器来共享数据

    还有一种方式来进行共享数据,那么就是使用数据容器来进行共享,其实也就是使用一个容器来进行挂载数据盘,然后。。。其他的容器共享这些数据:

    此种的主要目的就是为了在容器之中共享数据,相反在物理机上是看不到任何数据的,而在都挂载了这个目录的容器都可以看到数据。


  

浪而不漫

    

    有多浪。。。我不知道啊。。。


    很多人好像都被现实阻挡了脚步,无论是环境还是各种。。。


    其实只是一个选择,无论是选择容器,还是选择虚拟机,还是选择物理机,只是看应用的场景,场景不同,采用的方式和方法也不同。


    这个世界上没有银弹,都是一步一步打出来的。。。慢慢的去寻找才能找到自己合适的。


    所有的一切,开始都是混沌的,只有盘古开天辟地的那一斧,才创造了今日的人类。。。


    水漫金山,也只是娘子的一己私欲。。。。大局观,大局观。。。


    很多东西。。。要是你生气了,就说明你输了。。。


    很多东西我也不会,只不过是慢慢的寻求破局。。。


    无论是反推,还是正推。。。总要有一个动力。。。。不要迷茫太久。。时间不等人。。。


    选择了,就。。。JUST FUCK IT。。。。


    不要怂。。。。。我要越塔杀人。。。



        老是有人让我评价我自己,烦死了。。。。评价这个东西很无趣的。。。毕竟。。。。我不是个东西啊。。。。


        当然。。。我还是很好奇你们能问出什么花样,好玩好玩。。。。别让我失望,毕竟。。。我还是有一丝丝期待的,哈哈。。。


        唉,又要出来卖了。。。大家没事扫一扫啊。。。哈哈



    

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值