docker(5):数据的管理
Docker的volume卷 为了能持久话保存和共享容器的数据。
使用docker volume卷的两种方式
1:数据卷
2:数据卷容器
1:数据卷
数据卷:数据卷会绕过docker 的ufs 直接写在物理设备上,对数据卷的操作可以及时生效,并且数据卷是可以进行共享重用的,为一个或者多个容器提供访问。数据卷的存在的目的在于永久话保存docker的数据,数据卷独立于容器的生命周期之外。不会因docker的变化儿产生变化
(1):挂载一个随机名称的目录
我们在运行容器的时候 通过使用 -V 来添加 数据卷,也可以多次指定挂载多个。
运行一个主机名为 centos1 容器名为centos1 的容器
docker run -it -v /data -h centos1 --name centos1 centos
注:-v /data 我们挂载了一个名为data的数据卷 (-h centos1) 指定主机名
使用-v 时 docker 守护进程会自动帮助我们创建一个data文件.这时的data文件其实挂载了宿主机的文件我们来查看一下宿主机文件的地址:
推出容器查看centos1 的 配置信息
docker inspect centos1 找到Mounts 节点
Source 这里就是对应的宿主机目录随机了一个名称:默认是可读写的,我们不论是在宿主机中还是在容器写入的任何信息,两边都可以进行查看。Volume 就是docker 的卷,代表目录或者文件。
因为这里的卷是挂载的宿主机的文件,所以不会随着容器的销毁而销毁.
(2)挂载一个宿主机的文件或目录
docker run -it -v /var/lib/docker/volumes:/volumes -h centos2 --name centos2 centos
-v /var/lib/docker/volumes:/volumes
上面的命令挂载了宿主机 /var/lib/docker/volumes 文件路径:/volumes 容器的路径。
看到已经挂载成功了,我们可以看多个容器我们可以共用一个文件。这样就可以避免我们的数据配置。。。信息丢失,比如我们可以分成存放 程序,日志,配置等信息
-v /var/lib/docker/volumes:/volumes:ro 可以设置只读,默认是 rw读写
2:数据卷容器
(1):使用数据卷:
我们运行一个名为Centos3的容器,并且centos2 作为一个数据卷容器
docker run -it --volumes-from centos2 -h centos3 --name centos3 centos
参数: --volumes-from centos2 指定一个卷容器。
运行成功后我们查看一下centos3 是否共享了数据卷容器centos2的卷
上图中我们可以看到,centos3和centos2共用了卷。
为什么使用数据卷:
在生产测试环境中我们在使用的时候可以只创建一个容器,不运行任何程序,此容器的作用就是为了共享数据卷。这个容器就被称为数据卷容器。
注意:在删除挂载有数据卷容器的时候我们要加上 -v 选项 ,这样才会删除数据卷,不然出来不会删除外,还会浪费磁盘空间
例如:Docker rm -v centos3 当我们删除centos3 的时候,他使用的数据卷是不会被删除的,因为当一个数据卷在被其他容器使用的时候是不会被删除的。
(2):数据卷的备份
数据卷的备份是通过启动一个新的容器,在新的容器中执行打包压缩命令,来实现备份操作的。也就是说这个容器是可以执行后立即删除的
执行下面的命令进行备份:
docker run --rm --volumes-from centos2 -v /backup:/backup centos tar cvf /backup/volume.tar /volumes
备份完成我们查找一下备份
查看容器是否存在:
我们可以看到当容器执行完命令后就删除了
命令选项作用:
--rm :容器运行后删除
--volumes-from centos2 :备份数据卷容器挂载的所有数据卷
-v /backup:/backup : 备份后存放的地址
tar cvf /backup/volume.tar :执行备份并且指定备份的名称
/volumes :数据卷容器centos2 挂载的数据卷目录
有不足之处 希望大家指出相互学习,
本文原创:转载请注明出处 谢谢!
docker(5):数据的管理的更多相关文章
- docker之数据卷管理
转自:https://www.cnblogs.com/jsonhc/p/7777811.html docker之数据卷的备份和还原 1.现在利用镜像创建一个nginx的服务容器,并挂载一个数据卷 [r ...
- docker 应用数据的管理
容器数据存储的三种方式 docker volume docker管理素质及文件系统的一部分,保存数据最佳方式 bind mounts 将宿主机的文件映射到容器里 tmpfs 存储在宿主机的内存 ...
- docker 应用数据的管理之bind mounts
创建容器使用bind mounts 挂载文件系统.宿主机文件系统会覆盖掉容器里初始数据 [root@localhost ~]# mkdir /www/htpm -pv mkdir: 已创建目录 &qu ...
- docker 数据卷管理
在生产环境中使用docker,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这涉及到容器对数据管理的操作 容器对数据的管理主要有两种方式: 数据卷(Data Volumes): 容器内 ...
- Docker容器和数据可视化管理工具Flocker
Flocker 可轻松实现 Docker 容器及其数据的管理.这是一个数据卷管理器和多主机的 Docker 集群管理工具,你可以通过它来控制数据.可用来在 Docker 中运行你的数据库.查询和 K/ ...
- Docker学习第三天(Docker数据卷管理)
1.Docker数据卷管理 在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束),需要将数据从宿主机挂载到容器中.目前Docker提供了三种 ...
- 理解Docker容器的进程管理
摘要: Docker在进程管理上有一些特殊之处,如果不注意这些细节中的魔鬼就会带来一些隐患.另外Docker鼓励"一个容器一个进程(one process per container)&qu ...
- Docker背后的容器管理——Libcontainer深度解析
Libcontainer 是Docker中用于容器管理的包,它基于Go语言实现,通过管理namespaces.cgroups.capabilities以及文件系统来进行容器控制.你可以使用Libcon ...
- Docker容器集群管理之Swarm
Docker容器集群管理主流方案 Swarm Docker公司自研发的集群管理系统. Kubernetes Google开源的一个容器集群管理系统,用于自动化部署.扩展和管理容器应用.也称为K8S ...
随机推荐
- JSON-RPC远程调用协议
1. JSON-RPC简介 2. 请求 3. 响应 4. 错误 4.1. 错误对象 4.2. 错误码 5. 批量调用 6. 示例 6.1. 列表形式参数 6.2. key-value形式参数 6.3. ...
- 和同门一起做的PHP网站
用的是PHP语言开发,使用ThinkPHP框架,数据库是mysql 统计是用的站长统计,前端很多都是别人网 上扒下来的.css.js水平不高啊.服务器是香港恒创科技的,性价比还可以哦,而且还免备案. ...
- System Error. Code:1722. RPC服务器不可用解决办法
原文链接(转载请注明出处):System Error. Code:1722. RPC服务器不可用解决办法 问题 最近在软件设计上机课的时候,使用 starUML 建模工具画UML图的时候总是弹出一条如 ...
- Java开源生鲜电商平台-支付模块的设计与架构(源码可下载)
Java开源生鲜电商平台-支付模块的设计与架构(源码可下载) 开源生鲜电商平台支付目前支持支付宝与微信.针对的是APP端(android or IOS) 1. 数据库表设计. 说明:无论是支付宝还 ...
- Java动态代理(一)
好久没有动笔了,最近想巩固一下自己的基础知识,最近听到一同事问为什么JDK动态代理不能代理类,一听感觉懵逼呀!自己好像也不能很好的描述出来,所以想用2篇文章来复习一下动态代理知识: 一.什么是静态代理 ...
- 导出excel记录
前言: 记录这篇使用记录,是为了方便以后学习查阅和让没有使用过的人了解一下,其中不足还请见谅.不是很全的文章,大神请绕行. 在项目中我们或多或少的会遇到数据导出到excel表格以便线下查看或者记录一些 ...
- RNN(Recurrent Neural Network)的几个难点
1. vanish of gradient RNN的error相对于某个时间点t的梯度为: \(\frac{\partial E_t}{\partial W}=\sum_{k=1}^{t}\frac{ ...
- PHP 7 新特性
PHP 7 新特性 标量类型声明 PHP 7 中的函数的形参类型声明可以是标量了.在 PHP 5 中只能是类名.接口.array 或者 callable (PHP 5.4,即可以是函数,包括匿名函数) ...
- PAT1102: Invert a Binary Tree
1102. Invert a Binary Tree (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue ...
- 你不知道的JavaScript--Item15 prototype原型和原型链详解
用过JavaScript的同学们肯定都对prototype如雷贯耳,但是这究竟是个什么东西却让初学者莫衷一是,只知道函数都会有一个prototype属性,可以为其添加函数供实例访问,其它的就不清楚了, ...