• 第 6 章 存储


    docker managed volume

    与 bind mount 在最大区别是不需要指定 mount 源,指明 mount point 就行了

    通过 -v 告诉 docker 需要一个 data volume

     

    docker inspect 的输出中 Mounts 的部分,显示容器当前使用的所有 data volume,包括 bind mount 和 docker managed volume。

    使用 docker inspect 391332c77cdf  查看下 Mounts 的信息

     

    Source 就是该 volume 在 host 上的目录

    每当容器申请 mount docker manged volume 时,docker 都会在/var/lib/docker/volumes 下生成一个目录,这个目录就是 mount 源,这个目录下都有这些文件:

    volume 的内容跟容器原有 /usr/local/apache2/htdocs 完全一样的,是因为mount point 指向的是已有目录,原有数据会被复制到 volume 中。

    此时的 /usr/local/apache2/htdocs 已经不再是由 storage driver 管理的层数据了,它已经是一个 data volume。我们可以像 bind mount 一样对数据进行操作,例如更新数据

    除了通过 docker inspect 查看 volume,我们也可以用 docker volume 命令:

     

     

    缺点:

    docker volume 只能查看 docker managed volume,还看不到 bind mount;同时也无法知道 volume 对应的容器,这些信息还得靠docker inspect。

     

    两种 data volume 的原理和基本使用方法的对比:

    相同点:

    两者都是 host 文件系统中的某个路径。

    不同点:

        

    ------------------------------------------------------引用来自------------------------------------------------------------------

     https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587715&idx=1&sn=0150db66fdedada0c28b7d08e0fb99b3&chksm=8d30811aba47080c9d086e98679e53b397beed1565cc5f63992a9cc8a959e04b63ced6e90894&scene=21#wechat_redirect

  • 相关阅读:
    C#多线程学习(一) 多线程的相关概念
    如何:创建和终止线程(C# 编程指南)
    原来多线程中的join()是这么回事(转)
    c# 关于Task类处理多线程的学习
    C#多线程学习(四) 多线程的自动管理(线程池)
    【转】Java 四种引用
    【转】Java线程:新特征锁(1)
    Builder
    Proxy
    【转】Java NIO(一)
  • 原文地址:https://www.cnblogs.com/gsophy/p/10455905.html
Copyright © 2020-2023  润新知