Docker数据管理(一)
数据卷挂载
在生产环境中,需要对数据进行持久化,冗余化,或者在需要在多个容器之间进行数据共享
数据卷:容器内数据直接映射到本地主机环境
数据卷容器:使同特定容器维护数据卷
-v 进行映射
1.在容器内生成一个数据卷
docker run -id --rm --name dbdata -v dbdata docker.io/busybox
2.挂载主机目录作为数据卷, 将webroot挂载到容器的test中(绝对路径)
docker run -id --rm --name -P web -v /root/webroot:/test docker.io/busybox
3.挂载一个本机文件作为数据卷, 将web.xml挂载到容器的test中(不推荐)
docker run -id --rm --name -P web -v /root/web.xml:/test docker.io/busybox
总结:
如果使用文件挂载,当使用vim或者sed --in-place时候,可能造成inode改变,所以不推荐以文件挂载
数据卷容器
生成一个专门放数据的容器,这个数据卷容器可以在多个容器之间共享一些持续更行的数据
1.生成数据卷容器
docker run -it --name dbdata -v /dbdata docker.io/busybox
查看结果
/ # ls
bin dbdata dev etc home proc root run sys tmp usr var
2.创建其他容器,其实可用到 --volumes-from来挂载dbdata容器中的数据卷
docker run -it --name web1 --volumes-from dbdata docker.io/busybox
docker run -it --name web2 --volumes-from dbdata docker.io/busybox
在其中一个容器中创建一个文件,可以在另外两个看到
总结:
可以多次使用--volumes-from来挂载dbdata,也可以从其他已经挂载的容器卷的容器挂载数据卷
如果删除了挂载的容器(包括dbdata,web1,web2),数据卷并不会被删除.只有删除最后一个还挂载着它的容器 显示使用docker rm -v 命令来指定 同时删除关联的容器
利用数据卷来迁移数据
利用数据容器对其中的数据卷进行备份,恢复以实现数据迁移
1.备份
docker run --volumes-from dbdata -v /root/back:/backup --name back docker.io/busybox tar -cvf /backup/backup.tar /dbdata
利用目录挂载,就可以把备份放到物理机的/root/back里了
2.恢复
docker run --volumes-from dbdata -v /root/back:/backup --name recover docker.io/busybox tar -xvf /backup/backup.tar
总结:
通过数据卷和数据卷容器对容器内数据进行共享,备份,恢复等操作,即使出现了运行故障,用户也不必担心数据丢失,只需要快速创建容器即可
在生产环境中,定期在物理机上进行数据备份,使用支持容错的存储系统(RAID,分布式文件系统{Ceph,GPFS,HDFS}).可以大大提升数据安全
入门容器操作见https://blog.csdn.net/Nedved_L/article/details/79067732
Docker数据管理(一)的更多相关文章
- Docker数据管理(四)
Docker数据管理 Docker数据分为两种: 数据卷 -v /data -v src:dst 数据卷容器 --volumes-from 数据卷 案例1:我们创建一个容器,起名叫nginx-volu ...
- Docker数据管理
用户在使用Docker的过程中,往往需要能查看容器内应用产生的数据,或者需要把容器内的数据进行备份,甚至多个容器之间进行数据共享,这必然涉及到Docker的数据管理. 容器中管理数据主要有两种方式: ...
- Docker系统七:Docker数据管理
Docker的数据管理 I. 基本概念 Docker容器一旦删除,其相关的rootf文件系统就会被删除,其容器内的数据将一并删除,为了保存相关数据,Docker提出了数据卷的概念. II. 数据卷 D ...
- Docker数据管理(五)
一.什么是数据卷 生成环境中使用docker的过程中,往往需要对数据进行持久化,或者需要多个容器之间进行数据共享,这个就涉及到了容器数据管理 容器中管理数据主要有两种方式: 数据卷:容器内数据之间映射 ...
- Docker数据管理(数据卷&数据卷容器)
生产环境中使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作. 容器中管理数据主要有两种方式: 数据卷(Data Volumes):容 ...
- Docker实战(四)之Docker数据管理
在生产环境中使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及到容器的数据管理操作. 容器中管理数据主要有两种形式: 数据卷:容器内数据直接映射到本地主 ...
- 【Docker】第五篇 Docker 数据管理
一.基本介绍 数据管理的原因:Docker中的容器一旦删除,容器本身的rootfs文件系统就会被删除,容器中的所有数据就会被删除.为了对一些需要持久化的数据,不随容器删除而删除,所以我们可以通过多个容 ...
- <Docker学习>5. docker数据管理
当我们创建了一个tomcat容器,如何简单部署一个web应用?如何将war包放入到容器中?也就是说怎么样把文件从宿主机中 "放入" 到容器中? docker cp命令可以将宿主机本 ...
- docker数据管理(2)
一.docker存储资源类型 docker两种存储资源类型 用户在使用 Docker 的过程中,势必需要查看容器内应用产生的数据,或者需要将容器内数据进行备份,甚至多个容器之间进行数据共享,这必然会涉 ...
- 六、【Docker笔记】Docker数据管理
前几节我们介绍了Docker的基本使用和三大核心概念,那么我们在使用Docker的过程中,Docker中必然产生了大量的数据,对于这些数据我们需要查看或者对这些数据进行一个备份,也有可能容器之间的数据 ...
随机推荐
- Django-CBV&FBV
django中请求处理方式有2种:FBV 和 CBV 一.FBV FBV(function base views) 就是在视图里使用函数处理请求. urls.py from django.conf.u ...
- Redis 过期时间相关命令
命令 示例和描述 PERSIST PERSIST key-name —— 移除键的过期时间 TTL TTL key-name —— 查看给定键距离过期还有多少秒 EXPIRE EXPIRE key-n ...
- ECMAScript 6,es6 get和set的区别
前言:ECMAScript 6是什么 一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系? 要讲清楚这个问题,需要回顾历史.1996 年 11 月,JavaScript ...
- GitHub 热点速览 Vol.15:Background-Matting 让你秒变专业抠图师
作者:HelloGitHub-小鱼干 摘要:如果要选一个词来概述上周的热点,春风拂过,应该是一个不错的词.新项目像春天冒出的枝芽,朝气蓬勃,虽然获得的 star 不如之前三维 Vim 抢眼,但胜在多姿 ...
- 如何关闭Springboot应用服务
背景 以往的单机应用会采用kill方式关闭应用服务,但是这种关闭应用的方式在springboot中会让当前应用将所有处理中的请求丢弃,返回失败响应.我们在处理重要业务逻辑要极力避免的这种响应失败在,所 ...
- 给listview添加长时间点击事件(完成删除操作)
出现的问题是:当长时间点击listview的时候,触发长时间点击事件的同时也会触发点击事件,处理的办法是在长时间点击事件中加上return true:这样就可以很好的解决了. 给listview天机长 ...
- (js描述的)数据结构[树结构之红黑树](13)
1.二叉送搜索树的缺点: 2.红黑树难度: 3.红黑树五大规则: 4.红黑树五大规则的作用: 5.红黑树二大变换: 1)变色 2)旋转 6.红黑树的插入五种变换情况: 先声明--------插入的数据 ...
- go中的error小结
go中的error error和panic error接口 go中err的困局 推荐方法 总结 参考 go中的error go中的错误处理,是通过返回值的形式来出来,要么你忽略,要么你处理(处理也可以 ...
- 基于RabbitMQ的Rpc框架
参考文档:https://www.cnblogs.com/ericli-ericli/p/5917018.html 参考文档:RabbitMQ 实现RPC MQ的使用场景大概包括解耦,提高峰值处理能力 ...
- Python程序设计实验报告三:分支结构程序设计
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.5 指导老师 修宇 [实验目的 ...