docker的存储 - Go语言中文社区

docker的存储


序言

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


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


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

    

?wx_fmt=png&wxfrom=5&wx_lazy=1

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


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


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

?wx_fmt=png

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


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

?wx_fmt=png

    

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

?wx_fmt=png

    

    主要的区别在如下所示:

?wx_fmt=png


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

?wx_fmt=png


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

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

?wx_fmt=png


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

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

?wx_fmt=png

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

?wx_fmt=png

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


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

使用数据容器来共享数据

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

?wx_fmt=png

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


  

浪而不漫

    

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


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


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


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


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


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


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


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


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


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


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


?wx_fmt=jpeg


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


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


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

?wx_fmt=jpeg



    

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/TM6zNf87MDG7Bo/article/details/78861477
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 21:44:26
  • 阅读 ( 1195 )
  • 分类:docker

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢