数据卷的使用,数据库可以保证如果容器出现问题但是数据不丢失的作用,比如MySQL/date下的数据

或者Nginx根目录下的index.html

查看数据卷

[root@docker ~]# docker volume ls

DRIVER              VOLUME NAME

创建数据卷

[root@docker ~]# docker volume create nginx-vol

nginx-vol

查看已经创建了一个叫nginx-vol的数据卷

[root@docker ~]# docker volume ls

DRIVER              VOLUME NAME

local               nginx-vol

查看数据卷详细信息

[root@docker ~]# docker volume inspect nginx-vol

运行一个叫nginx-test的容器并挂载数据卷,源目录为nginx-vol 目标目录为Nginx的html网页根目录下

[root@docker ~]# docker run -itd --name nginx-test --mount src=nginx-vol,dst=/usr/share/nginx/html nginx

8ea39f5eb3fac2d85039314117985abd5f6393548a0eb45e27946c424ebebfe8

进入网页目录下查看

[root@docker ~]# docker exec -it nginx-test bash

root@8ea39f5eb3fa:/# cd /usr/share/nginx/html/

root@8ea39f5eb3fa:/usr/share/nginx/html# ls

50x.html  index.html

去挂载目录下查看是否也已经有数据卷了

[root@docker ~]# cd /var/lib/docker/volumes/

[root@docker volumes]# ls

metadata.db  nginx-vol

[root@docker volumes]# cd nginx-vol/

[root@docker nginx-vol]# ls

_data

[root@docker nginx-vol]# cd _data/

[root@docker _data]# ls

50x.html  index.html

删除所有容器查看数据库还存在

[root@docker ~]# docker rm -f $(docker container ls -qa)

8ea39f5eb3fa

5deb5f032783

4c6e1ee32733

[root@docker volumes]# cd nginx-vol/_data/

[root@docker _data]# ls

50x.html  index.html

在跑一刚才的容器并指定端口映射

[root@docker _data]# docker run -itd --name nginx-test -p 89:80 --mount src=nginx-vol,dst=/usr/share/nginx/html nginx

6f6a742b02272b1eff38974e633e84033f257d6e1b8097c4b60202f1d3b6c451

在数据卷目录下并创建一个a.html的文件查看,这里是起到数据卷挂载的持久化的作用

[root@docker _data]# curl 192.168.30.22:89

23456

[root@docker _data]# vim a.html

[root@docker _data]# curl 192.168.30.22:89/a.html

<h1>hello</h1>

我又切换了一个端口添加了映射,这样的话可想而知如果启动100个这样的容器,都是用这个数据卷,扩展能力是非常强的,只是端口不同

[root@docker ~]# docker run -itd --name nginx-test2 -p 90:80 --mount src=nginx-vol,dst=/usr/share/nginx/html nginx

8e3f213e652b31daef38f169240d2388386afeada29ff3367e712ccc98163f49

[root@docker _data]# curl 192.168.30.22:90

23456

[root@docker _data]# curl 192.168.30.22:90/a.html

<h1>hello</h1>

docker数据卷的管理和使用的更多相关文章

  1. docker 数据卷管理

    在生产环境中使用docker,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这涉及到容器对数据管理的操作 容器对数据的管理主要有两种方式: 数据卷(Data Volumes): 容器内 ...

  2. docker数据卷管理及网络基础配置

    数据卷 数据卷容器 数据卷迁移数据 端口映射 容器间通信 数据卷的管理 当需要查看容器内应用产生的数据或者把容器内数据备份及多个容器数据共享.有两种方式,数据卷以及数据卷容器. 数据卷 数据卷是一个可 ...

  3. Docker学习第三天(Docker数据卷管理)

    1.Docker数据卷管理 在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束),需要将数据从宿主机挂载到容器中.目前Docker提供了三种 ...

  4. docker 数据卷之进阶篇

    笔者在<Docker 基础 : 数据管理>一文中介绍了 docker 数据卷(volume) 的基本用法.随着使用的深入,笔者对 docker 数据卷的理解与认识也在不断的增强.本文将在前 ...

  5. docker 数据卷 ---- 进阶篇

    笔者在<Docker 基础 : 数据管理>一文中介绍了 docker 数据卷(volume) 的基本用法.随着使用的深入,笔者对 docker 数据卷的理解与认识也在不断的增强.本文将在前 ...

  6. 实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作

    Docker内部数据管理和Docker之间的数据共享为数据卷和数据卷容器,实例解析1.将本地的文件作为容器的数据卷,2.数据卷flocker插件实现容器集群(或者Docker Swarm)的数据共享3 ...

  7. docker数据卷挂载

    docker数据卷挂载笔记 我们的服务运行时必不可少的会产生一些日志,或是我们需要把容器内的数据进行备份,甚至多个容器之间进行数据共享,这必然涉及容器的数据管理操作. 容器中管理数据主要有两种方式: ...

  8. Docker学习笔记之使用Docker数据卷

    Docker数据卷将数据存储到主机而非容器,多个容器需要共享数据时,常常使用数据卷. 1. 为容器设置数据卷(不指定主机目录) 2. 容器与主机之间.容器与容器之间共享数据卷(指定主机目录) 3. 使 ...

  9. docker数据卷(Data Volumes)

    Docker宿主机和容器之间文件拷贝docker copy 前言: Docker 数据管理 在生产环境中使用 Docker ,往往需要对数据进行持久化,或者需要在多个容器之间进行 数据共享,这必然涉及 ...

随机推荐

  1. 使用Python操作Redis应用场景

    1. 安装pyredis 首先安装pip   1 2 3 4 5 6 7 8 <SHELL># apt-get install python-pip ...... <SHELL> ...

  2. 基于 IOCP 的通用异步 Windows Socket TCP 高性能服务端组件的设计与实现

    设计概述 服务端通信组件的设计是一项非常严谨的工作,其中性能.伸缩性和稳定性是必须考虑的硬性质量指标,若要把组件设计为通用组件提供给多种已知或未知的上层应用使用,则设计的难度更会大大增加,通用性.可用 ...

  3. strncasecmp与strcasecmp用法(转载)

    转自: http://blog.csdn.net/acb0y/article/details/5333334 strcasecmp strcasecmp(忽略大小写比较字符串)  相关函数 bcmp, ...

  4. Ocelot(十)- 路由

    Ocelot的主要功能是接收传入的http请求并将其转发到下游服务.Ocelot目前仅以另一个http请求的形式支持此功能(将来可能是任何传输机制). Ocelot描述了将一个请求路由到另一个请求作为 ...

  5. UART、I2C、SPI三种协议对比

    学嵌入式需要打好基础 下面我们来学习下计算机原理里的3种常见总线协议及原理 协议:对等实体之间交换数据或通信所必须遵守规则或标准的集合 1.UART(Universal Asynchronous Re ...

  6. JavaScript编程艺术-第6章(JavaScript美术馆改进版)代码

    基于[第4章(JavaScript美术馆)代码]进行改进(***HTML与JS分离***) (*亲测可用) HTML: JS: CSS:

  7. 数据结构 - 静态顺序线性表的实行(C语言)

    数据结构 - 静态顺序线性表的实行(C语言) 1 获取元素操作 对于线性表的顺序存储结构来说,如果我们要实现GetElem操作,即将线性表L中的第i个位置元素值返回,其实是非常简单的. 只要i的数值在 ...

  8. AngularJs调用NET MVC 控制器中的函数进行后台操作

    题目中提到的控制器指的是.NET  MVC的控制器,不是angularjs的控制器. 首先看主页面的代码: <!DOCTYPE html> <html> <head> ...

  9. JD商家后台管理的细节

    1: 宝贝主图和滚动图都是800px,只有刚好这么多时才能得到显示,否则不会显示. 2:宝贝描述图只支持750px, 只有这么多时才能得到显示, 刚开始不知道, 上传图片上去后, 发现始终无法显示, ...

  10. Struts2 表单提交与execute()方法的结合使用

    1.创建web项目,添加struts2支持的类库,在web.xml中配置struts2过滤器. 2.创建名为UserAction的Action对象,并在其中编写execute()方法,代码如下所示: ...