docker managed volume 与bind mount 在使用上最大的区别是不需要指定mount 源,指明mount point就可以了
 
[root@5bvkl harbor]# docker run --name web01 -d -v /usr/local/apache2/htdocs httpd
6651fcb21173bbcb57c248d513adb6bbd7813b89c74e1dc1ff52f7373340e13b
[root@5bvkl harbor]# docker inspect web01
......
        "Mounts": [
            {
                "Type": "volume",
                "Name": "209e95239ee86ead11a89a6b0b685cf4dbc05cfb746726f8707a69fc8fe19fd3",
                "Source": "/var/lib/docker/volumes/209e95239ee86ead11a89a6b0b685cf4dbc05cfb746726f8707a69fc8fe19fd3/_data",
                "Destination": "/usr/local/apache2/htdocs",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],
......
[root@5bvkl harbor]# ll /var/lib/docker/volumes/209e95239ee86ead11a89a6b0b685cf4dbc05cfb746726f8707a69fc8fe19fd3/_data
total 4
-rw-r--r-- 1 root 40 45 Jun 12  2007 index.html
[root@5bvkl harbor]# cat /var/lib/docker/volumes/209e95239ee86ead11a89a6b0b685cf4dbc05cfb746726f8707a69fc8fe19fd3/_data/index.html
<html><body><h1>It works!</h1></body></html>
 
[root@5bvkl harbor]# docker volume inspect 209e95239ee86ead11a89a6b0b685cf4dbc05cfb746726f8707a69fc8fe19fd3
[
    {
        "CreatedAt": "2019-03-01T09:07:03+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/209e95239ee86ead11a89a6b0b685cf4dbc05cfb746726f8707a69fc8fe19fd3/_data",
        "Name": "209e95239ee86ead11a89a6b0b685cf4dbc05cfb746726f8707a69fc8fe19fd3",
        "Options": null,
        "Scope": "local"
    }
]
 
每当容器申请mount dockermanaged volume时,docker都会在/var/lib/docker/volume下生成一个目录,该目录中的内容和容器中mount point目录中的内容完全一致。
 
因为当mount point是已经存在的目录,那么mount point目录中的内容会被复制到dockerhost上,此时mount point已经不再是storage driver管理的层数据了,他已经是一个data volume,我们可以像bind mount一样对数据进行操作
 
docker volume 也可以查看mount信息,但是只能看到docker managed volume 的信息,bind mount的信息看不到
 
对比bind mount 和 docker managed volume
 
相同点:两者都是host文件系统中的某个路径
 
不同点:
    1、volume位置docker manged volume不能指定
    2、对已经mount point 影响不同,前者用host上的文件或者目录进行覆盖,后者将容器中的目录复制到host上
    3、前者支持单个文件,后者只支持目录
    4、前者可以设置只读,后者不支持
    5、移植性:前者移植性弱,与host path绑定,后者移植性强无需指定host目录
 

040、Docker managed volume(2019-03-01 周五)的更多相关文章

  1. 第 6 章 存储 - 040 - docker managed volume

    docker managed volume 与 bind mount 在最大区别是不需要指定 mount 源,指明 mount point 就行了 通过 -v 告诉 docker 需要一个 data ...

  2. docker managed volume - 每天5分钟玩转 Docker 容器技术(40)

    docker managed volume 与 bind mount 在使用上的最大区别是不需要指定 mount 源,指明 mount point 就行了.还是以 httpd 容器为例: 我们通过 - ...

  3. Cheatsheet: 2019 03.01 ~ 04.30

    Golang How To Install Go and Set Up a Local Programming Environment on macOS Build A Go API 40+ prac ...

  4. 2019.03.01 bzoj3075: [Usaco2013]Necklace(kmp+dp)

    传送门 题意简述:给出S,TS,TS,T两个字串,∣S∣≤10000,∣T∣≤1000|S|\le10000,|T|\le1000∣S∣≤10000,∣T∣≤1000,问至少从SSS中删去几个字符能够 ...

  5. 2019.03.01 bzoj2555: SubString(sam+lct)

    传送门 题意简述: 要求在线支持两个操作 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 思路: 考虑用lctlctlct来动态维护samsa ...

  6. 38-docker managed volume

    docker managed volume 与 bind mount 在使用上的最大区别是不需要指定 mount 源,指明 mount point 就行了.还是以 httpd 容器为例: 我们通过 - ...

  7. docker挂载volume的用户权限问题,理解docker容器的uid

    docker挂载volume的用户权限问题,理解docker容器的uid 在刚开始使用docker volume挂载数据卷的时候,经常出现没有权限的问题. 这里通过遇到的问题来理解docker容器用户 ...

  8. [2019.03.25]Linux中的查找

    TMUX天下第一 全世界所有用CLI Linux的人都应该用TMUX,我爱它! ======================== 以下是正文 ======================== Linu ...

  9. 2019.03.03 - Linux搭建go语言交叉环境

    编译GO 1.6版本以上的需要依赖GO 1.4版本的二进制,并且需要把GOROOT_BOOTSTRAP的路径设置为1.4版本GO的根目录,这样它的bin目录就可以直接使用到1.4版本的GO 搭建go语 ...

随机推荐

  1. python之各种装饰器的使用

    """ 装饰器,带参数的装饰器,类的装饰器 判断是否为可迭代的 from collections import Iterable print(isinstance([1, ...

  2. Android ListView item 点击事件失效问题的解决

    关于ListView点击无效,item无法相应点击事件的问题,网上有很多, 大致可分为俩种情况, 一种是 item中存在 ImageButton 等可以点击的组件,这会抢先获得ListView的焦点. ...

  3. 【LOJ6053】简单的函数(min_25筛)

    题面 LOJ 题解 戳这里 #include<iostream> #include<cstdio> #include<cstdlib> #include<cs ...

  4. bzoj4337树的同构

    树是一种很常见的数据结构. 我们把N个点,N-1条边的连通无向图称为树. 若将某个点作为根,从根开始遍历,则其它的点都有一个前驱,这个树就成为有根树. 对于两个树T1和T2,如果能够把树T1的所有点重 ...

  5. 关于overflow-x: hidden隐藏滚动条失效的解决方案

    在苦逼写页面的时候,发现有种情况overflow-x: hidden失效了,chrome表现完好,qq浏览器有问题,微信上面展示有问题. 微信上面展示是一样能够滑动的. 如果出现类似问题的同学,请试一 ...

  6. 跟angular2学一键开启项目--关于上个react-redux项目的一键调试

    一键调试类似于webpack的hot-loader,但是这个hot-loader并不怎么好用,想省事的同学可以配置一下就完了. 今天介绍browser-sync,用它来一键开启项目.它可以监听任意文件 ...

  7. Lambda 表达式有何用处?如何使用?

    强烈推荐!!!   作者:Sevenvidia链接:https://www.zhihu.com/question/20125256/answer/324121308来源:知乎著作权归作者所有.商业转载 ...

  8. quartz和spring集成使用一例子【我】

    首先在spring配置文件中增加: <!-- 调度器 --> <bean name="scheduler" lazy-init="false" ...

  9. Solr7.1--- 高亮查询

    由于测试数据比较少,昨天用Java爬了简书的几百篇文章,唉,又特么两点多睡的.如果你需要这些测试文件GitHub. 如果你看过我前面的文章,直接打开db-data-config.xml文件,添加一个e ...

  10. Luogu P2852 [USACO06DEC]牛奶模式Milk Patterns

    题目链接 \(Click\) \(Here\) 水题.利用\(Height\)的性质维护一个单调栈即可. #include <bits/stdc++.h> using namespace ...