一、数据卷

数据卷(Data Volumes)是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似于Linux中的mount动作。

数据卷可以提供很多有用的特性:

数据卷可以在容器之间共享和重用,容器间传递数据将变得高效与方便;

对数据卷内的数据修改后会马上生效,无论是容器内操作还是本地操作;

对数据卷的更新不会影响镜像,解耦开应用和数据;

卷会一直存在,直到没有容器使用,可以完全卸载掉它。

Docker提供了volume子命令来管理数据卷:

create      创建一个数据卷

inspect     打印一个或多个数据卷的详细信息

ls          列出所有数据卷

prune       删除所有未使用的数据卷

rm          删除一个或多个数据卷

1、创建数据卷

docker volume create www-data

创建一个名为www-data的数据卷

2、查看数据卷

docker volume ls

3、打印数据卷详细信息

docker volume inspect www-data

其中,Mountpoint表示默认的宿主机的共享目录

4、启动一个容器挂载此数据卷

挂载动作分为两个:

-v            格式:-v  src:dst

--mount         格式:--mount type=' ',source=' ',destination=' ',

--mount中type的类型有三种:

volume:普通数据卷,默认映射到/var/lib/docker/volume路径下; bind:绑定数据卷,映射到主机指定目录下; tmpfs:临时数据卷,只存于内存当中。

其实两种挂载后的作用是相同的,个人喜欢-v

(1)、“-v” 挂载法:

docker run -dit -P -v www-data:/usr/share/nginx/www:ro nginx:1.2.1 /bin/bash

ro的意思是只读,如果设定了只读权限,则容器内不可对此目录或目录内文件的内容进行修改,只能在宿主机中修改,但是如果标注是ro权限的话,默认则是rw可读可写。

在宿主机目录下创新新文件vfan:

容器内挂载目录下文件同步改变:

相反,容器中创建文件,或修改文件内容,也都会同步到宿主机相对应的文件中

(2)、--mount挂载法:

docker run -dit -P --mount type=bind,source=/root/docker,destination=//usr/share/nginx/www nginx:1.2.1 /bin/bash

挂载成功后同样进行以上测试:

在宿主机目录下创建新文件vvvfan:

容器内挂载目录下文件同步改变:

5、删除数据卷

docker volume rm [数据卷名称]

6、删除所有没有占用的数据卷

docker volume prune

二、数据卷容器

挂载数据卷容器的命令为—volumes-from

1、创建数据卷容器datadb

docker run -it -v /dbdata --name datadb nginx /bin/bash

创建一个名为datadb的数据卷容器,数据卷挂载目录为/dbdata

2、创建容器并挂载此数据卷容器

docker run -it --volumes-from datadb --name db1 ubuntu /bin/bash

创建一个名为db1的容器,并将名为datadb的数据卷容器挂载到此容器下

3、再创建一个容器挂载此数据卷容器

docker run -it --volumes-from datadb --name db2 ubuntu /bin/bash

4、创建测试文件

cd dbdata

touch ceshi1  ceshi2 ceshi3

在数据卷容器datadb的dbdata目录下创建ceshi文件

其他挂载此数据卷容器的目录也会同步更新

datadb容器:

db1:

db2:

如果删除一个数据卷,必须在删除最后一个还挂载它的容器时,使用docker rm –v命令来指定同时删除关联的容器。

Docker的数据卷与数据卷容器操作的更多相关文章

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

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

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

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

  3. docker挂载本地目录和数据卷容器

    1.docker挂载本地目录 docker可以支持把一个宿主机上的目录挂载到镜像里. 交互模式运行docker run -it -v /home/dock/Downloads:/usr/Downloa ...

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

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

  5. Docker系列(20)- 数据卷容器

    数据卷容器 什么是数据卷容器? 容器和容器之间实现数据共享 一个容器先于宿主机创建挂载方式,宿主机就会有改卷的目录 第二个容器使用命令--volumes-from 第一个容器,共享使用了第一个容器与宿 ...

  6. docker常用命令、镜像命令、容器命令、数据卷,使用dockerFile创建镜像,dockefile的语法规则。

    一.docker常用命令? 1. 常用帮助命令 1.1 docker的信息以及版本号 /* docker info 查看docker的信息 images2 docker本身就是一个镜像. docker ...

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

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

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

    docker--数据卷与数据卷容器 1.数据卷: 创建一个volumes的文件夹: [root@docker01 /]# mkdir volumes [root@docker01 /]# ls bin ...

  9. docker进阶篇(一) ---- Volume(数据卷)

    引言 docker的镜像是由多个只读的文件系统叠加在一起形成的.当我们在我启动一个容器的时候,docker会加载这些只读层并在这些只读层的上面(栈顶)增加一个读写层.这时如果修改正在运行的容器中已有的 ...

  10. docker定义数据卷及数据卷的备份恢复

    前言:生产环境中使用docker时,往往需要对数据进行持久化(只有把容器导出为镜像,才能够保存写的数据,否则容器删除或者停止,所有数据都会没有),或者需要在多个容器之间进行数据共享,这必然涉及容器的数 ...

随机推荐

  1. 用hive或mr清洗app数据

    1.项目背景 从大量源数据中清洗出有效数据供后续程序使用. 源数据参照log.txt文件 2.项目源数据说明 9841EF7BDBDF0AC9AF42AEBB4E4F8D4F Id 12 状态1 22 ...

  2. Mybatis-plus 中Wrapper的使用

    mybatis plus条件构造器关系图 1.上图绿色框为抽象类abstract 2.蓝色框为正常class类,可new对象 3.黄色箭头指向为父子类关系,箭头指向为父类 QueryWrapper 继 ...

  3. idea 提交代码到GitHub

    配置账户 配置Git安装目录 一般默认识别,其他参数不变 配置GitHub账户 提交到GitHub 1.VCS->import into version control -> share ...

  4. 解决方案 | win10任务栏假死,桌面鼠标可以动但是无法点击任务栏图标

    1 背景 今天电脑不知道什么原因,鼠标出现了无法点击任务栏图标的情况,但是桌面上可以晃动. 2 解决过程 (方法1-3对我无效,但是不代表对你们无效,) 方法1:重启资源管理器. 方法2:电脑重启.或 ...

  5. 高程读后感(三)— JS对象实现继承的6种模式及其优缺点

    目录 1.原型链 1.1.默认的原型 1.2.原型和实例的关系 1.3.原型链的问题 2.借用构造函数 2.1.传递参数 2.2.借用构造函数的问题 3.组合继承 4.原型式继承 5.寄生式继承 6. ...

  6. django如何将查询结果的栏位和数值自动遍历出来

    在Django中,MT003HModel.objects.all() 返回的是一个 QuerySet 对象,你可以使用迭代器来遍历其中的每个对象,然后访问对象的属性来获取栏位和数值. 以下是一个简单的 ...

  7. 操作系统|SPOOLing(假脱机)技术

    什么是假脱机技术,它可以解决什么问题? 什么是脱机技术 要回答什么是假脱机技术,首先我们需要知道什么是脱机技术.<计算机操作系统(第四版)>写道: 为了解决人机矛盾及CPU和I/O设备之间 ...

  8. PowerShell 使用 Azure

    PowerShell 使用 Azure Azure 提供了三种管理工具: Azure 门户:Azure 门户是一个网站,可在其中创建.配置和更改 Azure 订阅中的资源,该门户是一个图形用户界面 ( ...

  9. ChatGPT的作用(附示例)

    ChatGPT介绍(内容由ChatGPT生成) ChatGPT是一款基于GPT(生成式预测网络)的聊天机器人,它可以根据用户输入自动生成相应的回复. GPT是由OpenAI开发的一种预测网络模型,其中 ...

  10. Linux 备份命令 fsarchiver 基础使用教程

    1 安装配置 fsarchiver 使用yum安装[二者选一个即可,我使用的是下面那个]: yum install https://dl.fedoraproject.org/pub/epel/epel ...