docker--数据卷与数据卷容器

1、数据卷:

创建一个volumes的文件夹:

[root@docker01 /]# mkdir volumes

[root@docker01 /]# ls

bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  volumes

创建一个名为vol的容器,并将容器的/opt目录挂载到本地的/volumes文件夹下。(-v参数可以在容器中创建一个数据卷)

[root@docker01 /]# docker run -it --name vol -v /volumes:/opt docker.io/centos /bin/bash

[root@d49b2d5408e3 /]# cd /opt

[root@d49b2d5408e3 opt]# ls

在容器的/opt目录中创建一个名为date_vol的文件夹。

[root@d49b2d5408e3 opt]# mkdir date_vol

[root@d49b2d5408e3 opt]# ls

date_vol

[root@d49b2d5408e3 opt]#

在本地系统中查看/volumes文件夹下是否有date_vol文件夹:

[root@docker01 /]# cd volumes/

[root@docker01 volumes]# ls

date_vol

[root@docker01 volumes]#

数据卷使容器内的数据直接映射到了本地主机。

2、数据卷容器:

创建一个数据卷容器命名为volumes,并在数据卷中创建一个文件夹为date01

[root@docker01 /]# docker run -it -v /date_vol --name volumes docker.io/centos /bin/bash

[root@7869a30c62e3 /]# ls

anaconda-post.log  date_vol  etc   lib    lost+found  mnt  proc  run   srv  tmp  var

bin                dev       home  lib64  media       opt  root  sbin  sys  usr

[root@7869a30c62e3 /]# cd date_vol/

[root@7869a30c62e3 date_vol]# ls

[root@7869a30c62e3 date_vol]# mkdir date01

[root@7869a30c62e3 date_vol]# ls

date01

[root@7869a30c62e3 date_vol]#

创建一个名为app01的容器,并使用--volumes-form命令挂载数据卷容器volume的date01数据卷,创建一个文件夹名称为app01。

[root@docker01 /]# docker run -it --name app01 --volumes-from volumes docker.io/centos /bin/bash

[root@04042b20bdbe /]# ls

anaconda-post.log  date_vol  etc   lib    lost+found  mnt  proc  run   srv  tmp  var

bin                dev       home  lib64  media       opt  root  sbin  sys  usr

[root@04042b20bdbe /]# cd date_vol/

[root@04042b20bdbe date_vol]# ls

date01

[root@04042b20bdbe date_vol]# mkdir app01

[root@04042b20bdbe date_vol]# ls

app01  date01

创建一个名为app02的容器,并使用--volumes-form命令挂载数据卷容器volume的date01数据卷,创建一个文件夹名称为app02。

[root@docker01 volumes]# docker run -it --name app02 --volumes-from volumes docker.io/centos /bin/bash

[root@bc087cca62b0 /]# ls

anaconda-post.log  date_vol  etc   lib    lost+found  mnt  proc  run   srv  tmp  var

bin                dev       home  lib64  media       opt  root  sbin  sys  usr

[root@bc087cca62b0 /]# cd date_vol/

[root@bc087cca62b0 date_vol]# ls

app01  date01

[root@bc087cca62b0 date_vol]# mkdir app02

[root@bc087cca62b0 date_vol]# ls

app01  app02  date01

[root@bc087cca62b0 date_vol]#

使用数据卷容器的时候,可以实现多个容器之间共享一些持续更新的数据。

docker--数据卷与数据卷容器的更多相关文章

  1. 聊聊Docker数据卷和数据卷容器

    当程序在容器运行的时候,特别是需要与其他容器中的程序或容器外部程序进行沟通交流,这时需要进行数据交换,作为常用的两种沟通数据的方式,网络通信与文件读写是需要提供给程序的支持, [数据卷] 文件是数据持 ...

  2. Docker 数据卷和数据卷容器

    1.本节课主要讲解如何在Docker内部及容器之间管理数据.容器中管理数据主要有两种方式:数据卷(Data volumes)数据卷容器(Data volume containers) 2.数据卷:是一 ...

  3. Docker学习笔记:镜像、容器、数据卷

    核心概念 镜像:一个只读的模板,类似虚拟机的镜像. 容器:可以理解为镜像的一个运行实例.运行时类似于沙箱,多个容器互相独立. 仓库:存放镜像文件的地方. 镜像 命令表格 命令 解释 选项 docker ...

  4. Docker数据卷和数据卷容器

    是什么 数据卷设计的目的,在于数据的永久化,他完全独立于容器的生存周期,因此,Docker不会在容器删除时删除其挂载的数据卷,也不会存在类似的垃圾收集机制对容器引用的数据卷进行处理.类似我们Redis ...

  5. Docker-数据卷和数据容器卷

    容器中管理数据主要有两种方式: 数据卷(Data Volumes) 数据卷容器(Data Volumes Dontainers) 数据卷 使用-v可以挂载一个本地的目录到容器中作为数据卷. [root ...

  6. Docker 使用指南 (四)—— 数据卷的使用

    一.数据卷的使用 有时候需要使用数据库,但是又希望它的数据能保存在本地,Docker中提供了数据卷可以供你方便的操作数据.数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用 ...

  7. Docker:网络及数据卷设置 [四]

    一.Docker网络设置 默认情况下,docker会创建一个桥接网卡[docker 0],docker有2种映射方式,一种是随机映射,一种是指定映射 提示:生产场景一般不使用随机映射,但是随机映射的好 ...

  8. Docker Kubernetes Volume 本地数据卷

    Docker Kubernetes Volume 本地数据卷 emptyDir 当Pod分配到Node时,首先创建一个空卷,并挂载到Pod中的容器. Pod中的容器可以读取和写入卷中的文件. 当Pod ...

  9. Docker Kubernetes Volume 网络数据卷

    Docker Kubernetes Volume 网络数据卷 由于支持网络数据卷众多 今天只拿nfs作为案例. 支持网络数据卷 nfs iscsi glusterfs awsElasticBlockS ...

随机推荐

  1. oracle的神奇化学反应(行转列+获取表字段)

    橘子+汽水=橘子汽水,∑(゚Д゚ノ)ノ好无聊!!! 火鸡+烤架=烤火鸡,ლ(´ڡ`ლ)还不错. wm_concat()+表字段查询=(✪ω✪)会是啥呢? wm_concat()函数,该函数可以把列值以 ...

  2. Python进阶之装饰器

    函数也是对象 要理解Python装饰器,首先要明白在Python中,函数也是一种对象,因此可以把定义函数时的函数名看作是函数对象的一个引用.既然是引用,因此可以将函数赋值给一个变量,也可以把函数作为一 ...

  3. 学习笔记:JavaScript-入门篇

    1.对话框,输出框,警告框   1. document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容.   2.alert(字符串或变量);   3.conf ...

  4. 转:Centos6.5_x86安装Redis。

    Redis是一个高性能的,开源key-value型数据库.是构建高性能,可扩展的Web应用的完美解决方案,可以内存存储亦可持久化存储.因为要使用跨进程,跨服务级别的数据缓存,在对比多个方案后,决定使用 ...

  5. 自坑实录 - Asp.net MVC中无法使用@Ajax.BeginForm问题解决

    创建空的web项目,通过Nuget引用mvc组件来搭建空的MVC项目时, 在视图页面中无法使用@Ajax.BegForm来进行异步提交数据, 而新建默认的MVC模板项目却能够正常使用@Ajax.Beg ...

  6. Java 7 Fork/Join 框架

    在 Java7引入的诸多新特性中,Fork/Join 框架无疑是重要的一项.JSR166旨在标准化一个实质上可扩展的框架,以将并行计算的通用工具类组织成一个类似java.util中Collection ...

  7. MyBatis之级联——一对多关系

    上次我们讲到了MyBatis的一对一关系的表示,简单回顾一下一对一关系就是一个学生只有一个学生证.那么什么是一对多关系呢?一个学生有多个课程这就是一对多的关系.我们结合上一章中的学生和学生证,在此基础 ...

  8. Docker4Windows -- 从外部(非本机host)访问 由docker container运行的程序

    背景 当我们在windows 上面运行docker container的时候,我们需要借助于模拟器(例如,Virtual box/Hyper V),她的目的主要是在我们的windows系统上面模拟出一 ...

  9. UILabel图文混排显示图片和文字

    //传入文字 自动图片放在左边文字紧接着后排排布 -(void)setAttrDetailLabelWithTitle:(NSString *)title { NSMutableAttributedS ...

  10. let与const详解

    在ES6中,js首次引入了块级作用域的概念,而什么是块级作用域? 众所就知,在js当中存在预解析的概念,就是变量提升.并且只存在全局作用域和私有作用域.在全局定义的变量就是全局变量,而在函数内部定义的 ...