一、不指定宿主机目录

首先运行一个nginx容器
docker run -d --name mynginx -p 8080:80 -v /usr/share/nginx/html nginx
--name 指定容器名字
-v 表示把docker里面的目录/usr/share/nginx/html映射出来

通过inspect命令查看宿主机对应的目录
docker inspect mynginx
省略部分输出
"Mounts": [
     {
         "Type": "volume",
         "Name": "fd6a85bb7a90ad465de3c5720d65576bff273b15b112cd3e62bb0d9d3f4a0c7a",
         "Source": "/var/lib/docker/volumes/fd6a85bb7a90ad465de3c5720d65576bff273b15b112cd3e62bb0d9d3f4a0c7a/_data",
         "Destination": "/usr/share/nginx/html",
         "Driver": "local",
         "Mode": "",
         "RW": true,
         "Propagation": ""
     }
]
可以看到docker里面的目录/usr/share/nginx/html对应到宿主机的目录为/var/lib/docker/volumes/354d406d5ec7f55bf445d70ac5f0534e1d185207a3f0b37e381af531a1d9ce37/_data

修改宿主机的文件
cd /var/lib/docker/volumes/354d406d5ec7f55bf445d70ac5f0534e1d185207a3f0b37e381af531a1d9ce37/_data
ls
50x.html  index.html
vi index.html
<html>
<p1>hello, I am nginx.</p1>
</html>

进入到docker目录
docker exec -it mynginx /bin/bash
cd /usr/share/nginx/html/
cat index.html
<html>
<p1>hello, I am nginx.</p1>
</html>
可以看到docker里面同步也进行了更改,打开网页http://10.40.16.61:8080/

二、指定宿主机目录

cd /tmp
mdkir html
vi html/index.html
<html>
<p1>hello, I change index file.</p1>
</html>

docker run -d --name mynginx1 -p 8081:80 -v $PWD/html:/usr/share/nginx/html nginx
$PWD表示当前路径

通过inspect命令查看宿主机对应的目录
docker inspect mynginx1
省略部分输出
"Mounts": [
     {
         "Type": "bind",
         "Source": "/tmp/html",
         "Destination": "/usr/share/nginx/html",
         "Mode": "",
         "RW": true,
         "Propagation": "rprivate"
     }
]

打开网页http://10.40.16.61:8081/

三、卷组给多个容器共享

mkdir myvolumes
cd myvolumes
mkdir data
docker create -v $PWD/data:/var/mydata --name data_container centos
# docker create只创建容器但不运行

docker run -it --volumes-from data_container centos /bin/bash
# -it以交互方式运行
mount | grep data
/dev/sda2 on /var/mydata type xfs (rw,relatime,attr2,inode64,noquota)
可以看到容器data_container的/var/mydata目录同样也在新的容器的下
cd /var/mydata
touch nothing
exit

ls /data
nothing
可以看到宿主机下面也有nothing这个文件,可以实现卷组给多个容器共享

Docker - 卷组管理(三)的更多相关文章

  1. Linux LVM卷组管理

    Linux LVM卷组管理 由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理. 由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数 ...

  2. Docker 中卷组管理

    一.概念 数据卷是一个可供一个或多个容器使用的特殊目录实现让容器的一个目录和宿主机中的一个文件或者目录进行绑定.数据卷 是被设计用来持久化数据的,对于数据卷你可以理解为NFS中的哪个分享出来的挂载点, ...

  3. 一、Vim编辑器 二、用户和组管理 三、软件的安装(jdk,mysql) 四、Shell编程

    一.Vim编辑器的使用 1. vim编辑器的运行模式 编辑模式:等待用户编辑命令的输入 插入模式:编辑文本内容 命令模式:执行命令 2. 使用 :vim 文件名 3. 查看当前vim编辑器介绍:vim ...

  4. AIX中卷组管理

      1.创建卷组 使用mkvg指令创建卷组. mkvg 指令参数 -B 创建大型卷组,该卷组最大能容纳128个物理卷和512个逻辑卷 -C 创建增加型并发卷组 -f 强制创建卷组 -G 与-B一样,创 ...

  5. Linux 物理卷(PV)、逻辑卷(LV)、卷组(VG)管理

    (一)相关概念 逻辑卷是使用逻辑卷组管理(Logic Volume Manager)创建出来的设备,如果要了解逻辑卷,那么首先需要了解逻辑卷管理中的一些概念. 物理卷(Physical Volume, ...

  6. linux磁盘 分区 物理卷 卷组 逻辑卷 文件系统加载点操作案例

    转自:truemylife.linux磁盘 分区 物理卷 卷组 逻辑卷 文件系统加载点操作案例 基本概念: 磁盘.分区.物理卷[物理部分] 卷组[中间部分] 逻辑卷.文件系统[虚拟化后可控制部分] 磁 ...

  7. Docker 基础知识 - 使用卷(volume)管理应用程序数据

    卷(volumes)是 Docker 容器生产和使用持久化数据的首选机制.绑定挂载(bind mounts)依赖于主机的目录结构,卷(volumes)完全由 Docker 管理.卷与绑定挂载相比有几个 ...

  8. docker卷管理(四)

    什么是数据卷 overlay2存储卷 docker镜像是由多个只读层叠加而成,启动容器时,docker会加载只读镜像层,并在镜像栈顶部添加一个可写层 如果运行中的容器修改了现有的一个已存在文件,那该文 ...

  9. docker集群管理

    docker集群管理 ps:docker machine     docker swarm       docker compose  在Docker Machine发布之前,你可能会遇到以下问题: ...

随机推荐

  1. Pipe——高性能IO(三)

    Pipelines可以替换掉那些丑陋的封装(kludge).变通(workaround)或妥协(compromise)——用一个在框架中设计优雅的专门的解决方案. 敢肯定,下面所覆盖的那些痛点,对于那 ...

  2. LeetCode 3: 无重复字符的最长子串 Longest Substring Without Repeating Characters

    题目: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. Given a string, find the length of the longest substring withou ...

  3. navicat的一些常用快捷键

    Navicat可以支持连接多种数据库,使用上的功能也比较强大. 如果使用了IDEA内置的数据库工具(个人喜欢用这个)或是SQL Server官方的数据库管理工具的话,会发现使用上都存在区别,区别就主要 ...

  4. SpringBoot打包为war包,并在tomcat中运行

    先看一下我创建的最简单的项目吧. controller类 @RestController public class TestController { @RequestMapping("ind ...

  5. 谁说程序员不浪漫?Python导出微信聊天记录生成爱的词云图

    明天又双叒叕是一年一度的七夕恋爱节了! 又是一波绝好的机会!恩爱秀起来! 购物车清空!礼物送起来!朋友圈晒起来!   等等! 什么?! 你还没准备好七夕礼物么? 但其实你不知道要送啥? 原来又双叒叕要 ...

  6. PDF转换成DXF文件?PDF转DXF的操作方法

    在CAD工作中,经常就需要将绘制完成的图纸文件的格式进行转换,那怎么将PDF文件转换成DXF格式的呢?具体要怎么来进行操作呢?本编教程小编就来教教大家具体操作方法,具体操作如下: 一.工具转换 推荐指 ...

  7. oracle产销存的写法

    with TEMP as (select sum(MMT.TRANSACTION_QUANTITY) QTY_QC, MMT.INVENTORY_ITEM_ID --,CAH.Legal_Entity ...

  8. Thymeleaf常用语法:条件判断 if、switch case

    if语句条件判断使用th:if,它会判断表达式是否成立,表达式的结果支持boolean.number.character.String及其他类型.满足下面情况,if语句成立:(1) 表达式的结果是数字 ...

  9. 035.[转] 获取HttpServletRequest请求Body中的内容

    注意: HttpServletRequest 请求中的 body 内容仅能调用 request.getInputStream(), request.getReader()和request.getPar ...

  10. Springboot 整合 MyBatis(一):跑起来

    0x1 环境 1. 系统:Windows 10 2. IDE:IntelliJ IDEA 2018.3 x64 0x2 创建项目 1.创建一个SpringBoot项目 选择Spring Initail ...