数据卷的使用,数据库可以保证如果容器出现问题但是数据不丢失的作用,比如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. AutoIT: 通过页面抓取来陈列任务管理器里面所有进程的列表

    #include<Array.au3> $handle =WinGetHandle("Windows 任务管理器") ;$ctrl =ControlGetHandle( ...

  2. 一种struts标签取不到值的情况

    编写一个网页,使用<s:date >标签将日期格式化,使用了多组数据一直没有问题,突然在一组数据上死活出现不了数据了.程序如下 <s:iterator value="art ...

  3. Ubuntu 12.04下安装配置体验GNOME 3(转载)

    转自:http://www.tuicool.com/articles/zIbeIj 自己并不是一个思想前卫的人,穿衣审美也都是大众眼光.但是唯独喜欢在计算机方便尝试最新,心肝情愿的做小白鼠.近日,按耐 ...

  4. Ruby模块与类

    Ruby是单一继承,一个类只能有一个直接的母类 Mix-in 模式来处理复合需求 多重包含: 由下往上回溯,重复的只看最上方的      换句话说,程序由上往下执行,由具体到抽象,第二次发现同一个模块 ...

  5. 洛谷 P3732 [HAOI2017]供给侧改革【trie树】

    参考:http://blog.csdn.net/di4covery/article/details/73065684 我以为是后缀数组+某某数据结构,结果居然是01trie!!题解说"因为是 ...

  6. bzoj 4500: 矩阵【差分约束】

    (x,y,z)表示格子(x,y)的值为z,也就是x行+y列加的次数等于z,相当于差分约束的条件,用dfs判断冲突即可. #include<iostream> #include<cst ...

  7. EL表达式(详解)

    EL表达式 1.EL基本内容 1)语法结构        ${expression} 2)[]与.运算符      EL 提供.和[]两种运算符来存取数据.      当要存取的属性名称中包含一些特殊 ...

  8. failed to push some refs to 'https://gitee.com/ftl_663/java-shop.git'

    1.git init 2.git add . 3.git commit  -m "init" 4.git remote add origin  https://gitee.com/ ...

  9. Unix\Linux | 总结笔记 |文件系统_shell重定向

    输入重定向< 从文件中获得命令需要的输入数据,适合数据源已经定义好,可重复使用 #显示文件test.txt的内容 cat < tesxt.txt #统计文件test.txt中的行数 单词数 ...

  10. 牛客小白月赛5-D-阶乘(求n内每个数的阶乘相乘后尾数为0的个数)

    题目描述 输入描述: 输入数据共一行,一个正整数n,意义如“问题描述”. 输出描述: 输出一行描述答案:一个正整数k,表示S的末尾有k个0 输入例子: 10 输出例子: 7 --> 示例1 输入 ...