Docker数据卷和数据卷容器
是什么
数据卷设计的目的,在于数据的永久化,他完全独立于容器的生存周期,因此,Docker不会在容器删除时删除其挂载的数据卷,也不会存在类似的垃圾收集机制对容器引用的数据卷进行处理。类似我们Redis里面的rdb和aof文件
特点
- 数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含了数据,这些数据会拷贝到新初始化的数据卷中
- 数据卷可以在容器之间共享重用
- 可以对数据卷里的内容直接修改
- 数据卷的变化不会影响镜像的更新
- 卷会一直存在,即使挂载数据卷的容器已经被删除
数据卷(容器内添加)
1、直接命令添加
docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
2、DockerFile添加
在Dockerfile中使用VOLUME指令来给镜像添加一个或多个数据卷
数据卷容器(容器间传递共享)
如果用户需要在容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器,数据卷容器其实是一个普通的容器,专门用来提供数据卷供其它容器挂载
1、创建一个数据卷容器dbdata,并在其中创建一个数据卷挂载到/dbdata:
docker run -ti -v /dbdata --name dbdata ubuntu:14.04
2、我们可以在其他容器中使用–volumes-form来挂载dbdata容器中的数据卷,例如创建db1和db2两个容器,并从dbdata容器挂载数据卷:
docker run -ti --volumes-from dbdata --name db1 ubuntu:14.04
docker run -ti --volumes-from dbdata --name db2 ubuntu:14.04
3、此时容器db1和db2都挂载同一个数据卷到相同的/dbdata目录。三个容器任何一方在该目录下的写入,其他容器都可以看到
数据备份
docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu:14.04 tar cvf /backup/backup.tar /dbdata
- 利用ubuntu镜像创建了一个容器worker
- 使用–volumes-from dbdata参数来让worker容器挂载dbdata容器的数据卷(即dbdata数据卷)
- 使用-v $(pwd):/backup参数来挂载本地的当前目录到worker容器的/backup目录
- worker容器启动后,使用了tar cvf /backup/backup.tar /dbdata命令来将/dbdata下内容备份为容器内的/backup/backup.tar,即宿主主机当前目录下的backup.tar
数据恢复
如果要恢复数据到一个容器,可以按照下面的操作,首先创建一个带有数据卷的容器dbdata2:
docker run -v /dbdata --name dbdata2 ubuntu:14.04
然后创建另一个新的容器,挂载dbdata2的容器,并使用ubtar解压备份文件到所挂载的容器卷中即可:
docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar
Docker数据卷和数据卷容器的更多相关文章
- 聊聊Docker数据卷和数据卷容器
当程序在容器运行的时候,特别是需要与其他容器中的程序或容器外部程序进行沟通交流,这时需要进行数据交换,作为常用的两种沟通数据的方式,网络通信与文件读写是需要提供给程序的支持, [数据卷] 文件是数据持 ...
- Docker 数据卷和数据卷容器
1.本节课主要讲解如何在Docker内部及容器之间管理数据.容器中管理数据主要有两种方式:数据卷(Data volumes)数据卷容器(Data volume containers) 2.数据卷:是一 ...
- Docker学习笔记:镜像、容器、数据卷
核心概念 镜像:一个只读的模板,类似虚拟机的镜像. 容器:可以理解为镜像的一个运行实例.运行时类似于沙箱,多个容器互相独立. 仓库:存放镜像文件的地方. 镜像 命令表格 命令 解释 选项 docker ...
- Docker-数据卷和数据容器卷
容器中管理数据主要有两种方式: 数据卷(Data Volumes) 数据卷容器(Data Volumes Dontainers) 数据卷 使用-v可以挂载一个本地的目录到容器中作为数据卷. [root ...
- Docker 使用指南 (四)—— 数据卷的使用
一.数据卷的使用 有时候需要使用数据库,但是又希望它的数据能保存在本地,Docker中提供了数据卷可以供你方便的操作数据.数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用 ...
- docker--数据卷与数据卷容器
docker--数据卷与数据卷容器 1.数据卷: 创建一个volumes的文件夹: [root@docker01 /]# mkdir volumes [root@docker01 /]# ls bin ...
- Docker:网络及数据卷设置 [四]
一.Docker网络设置 默认情况下,docker会创建一个桥接网卡[docker 0],docker有2种映射方式,一种是随机映射,一种是指定映射 提示:生产场景一般不使用随机映射,但是随机映射的好 ...
- Docker Kubernetes Volume 本地数据卷
Docker Kubernetes Volume 本地数据卷 emptyDir 当Pod分配到Node时,首先创建一个空卷,并挂载到Pod中的容器. Pod中的容器可以读取和写入卷中的文件. 当Pod ...
- Docker Kubernetes Volume 网络数据卷
Docker Kubernetes Volume 网络数据卷 由于支持网络数据卷众多 今天只拿nfs作为案例. 支持网络数据卷 nfs iscsi glusterfs awsElasticBlockS ...
随机推荐
- Dubbo系列之 (五)服务订阅(2)
辅助链接 Dubbo系列之 (一)SPI扩展 Dubbo系列之 (二)Registry注册中心-注册(1) Dubbo系列之 (三)Registry注册中心-注册(2) Dubbo系列之 (四)服务订 ...
- oracle创建用户操作
打开命令提示框输入以下内容 1.输入:sqlplus /nolog //进入oralce控制台2.输入:conn /as sysdba //以管理员权限登录3.输入:create user abc i ...
- dcoker 小应用(一)
docker 创建Ubuntu系统 1.创建Dockerfile #ubuntu:14.04 image FROM ubuntu:14.04 MAINTAINER XXX, xxx@xxx.com R ...
- 新手学习java路线
关于新手学习java的路线 笔者也是根据这个路线学习的,希望对你们有所帮助. 首先你要确定你是学习java 并且能够踏踏实实的走下去.一定要多学习,我也可以一直陪你走下去的. 笔者一年工作经验,科班毕 ...
- 什么是谷歌PageRank (简称PR值)
http://www.wocaoseo.com/thread-213-1-1.html 谷歌pageRank是谷歌用来评测网页质量高低的一个工具,主要分为0到10共11个等级,目前有很多的工具或谷歌工 ...
- Flink从入门到入土(详细教程)
和其他所有的计算框架一样,flink也有一些基础的开发步骤以及基础,核心的API,从开发步骤的角度来讲,主要分为四大部分 1.Environment Flink Job在提交执行计算时,需要首先建立和 ...
- laravel5Eloquent模型与数据表的创建
下面是有关管理员模型与表的创建 生成模型时同时生成数据库迁移文件 在生成的迁移文件中添加字段 运行命令行生成数据表 命令进行混合运用 生成工厂文件,数据填充文件 工厂模型代码 数据填充文件代码 数据填 ...
- 小程序开发-使用Loading和Toast提示框
小程序提示框 Loading提示框使用方式 1. 在wxml中作为组件使用 <loading hidden="{{hidden}}"> 加载中... </load ...
- Oracle Sqlplus 三项设置
显示sql执行时间:set timing on 显示sql execute plan:set autotrace trace exp 关闭 set autotrace off 设置行宽:set li ...
- Mybati源码解析篇之六剑客!!!
目录 前言 环境版本 Mybatis的六剑客 SqlSession 有何方法 语句执行方法 立即批量更新方法 事务控制方法 本地缓存方法 获取映射方法 有何实现类? Executor 实现类 Base ...