一、不指定宿主机目录

首先运行一个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. zabbix通过agent监控linux主机

    前言: 前几篇博客分别介绍了通过snmp来进行监控linux主机与windows主机,本篇介绍通过agent客户端来进行系统监控. 环境: server:192.168.249.142 client: ...

  2. Java replace() 方法 替换字符 也可用于 js 中

    JAVA中: public class Test { public static void main(String args[]) { String Str = new String("he ...

  3. Java题库——Chapter8 对象和类

    1)________ represents an entity(实体) in the real world that can be distinctly identified. 1) _______ ...

  4. Netty实战:设计一个IM框架

    来源:逅弈逐码 bitchat 是一个基于 Netty 的 IM 即时通讯框架 项目地址:https://github.com/all4you/bitchat 快速开始 bitchat-example ...

  5. Elasticsearch 6.x版本全文检索学习之数据建模

    1.什么是数据建模. 答:数据建模,英文为Data Modeling,为创建数据模型的过程.数据模型Data Mdel,对现实世界进行抽象描述的一种工具和方法,通过抽象的实体及实体之间联系的形式去描述 ...

  6. Web前端基础(15):jQuery基础(二)

    1. jQuery选择器 jQuery选择器是jQuery强大的体现,它提供了一组方法,让我们更加方便的获取到页面中的元素. 1.1 基本选择器 例子如下: <!DOCTYPE html> ...

  7. 使用MailKit发送带有内嵌图片的邮件且图片不显示成附件

    使用MailKit发送带有内嵌图片的邮件且图片不显示成附件 参考文章:MailKit---发送邮件 注意 在邮件客户端中是否显示内嵌图片为附件依据不同邮件有所不同,暂经测试Outlook和qq不显示为 ...

  8. bay——安装_Oracle 12C-单实例-Centos7.txt

    安装Oracle12C 总结笔记 IP:10.20.4.214 ---------------------------------------------用户和密码: root/bayaimbayai ...

  9. 关于sql sp_send_dbmail 发送邮件的怪异问题

    存储过程,其实就是将sp_send_dbmail采用参数的方式发送邮件,存储过程如下: ALTER PROCEDURE [dbo].[SP_Email_Send] @EmailTo varchar(m ...

  10. June 16th, 2019. Week 25th, Sunday.

    I can fly higher than an eagle, for you are the wind beneath my wings. 我之所以能飞得比鹰还高,是因为有你做我羽翼下的风. You ...