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中必然产生了大量的数据,对于这些数据我们需要查看或者对这些数据进行一个备份,也有可能容器之间的数据 ...
随机推荐
- Unity 游戏框架搭建 2019 (十八~二十) 概率函数 & GameObject 显示、隐藏简化 & 第二章 小结与快速复习
在笔者刚做项目的时候,遇到了一个需求.第一个项目是一个跑酷游戏,而跑酷游戏是需要一条一条跑道拼接成的.每个跑道的长度是固定的,而怪物的出现位置也是在跑道上固定好的.那么怪物出现的概率决定一部分关卡的难 ...
- Pytest系列(8) - 使用自定义标记mark
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest 可以支持自定义 ...
- STM32CubeMX的使用
1.STM32CubeMX简介 STM32CubeMx软件是ST公司为STM32系列单片机快速建立工程,并快速初始化使用到的外设.GPIO等,大大缩短了我们的开发时间.同时,软件不仅能配置STM32外 ...
- C++头文件应该干的事情
C++头文件应该干的事情 最近在写自己项目的时候,头文件老是编译错误,后来发现还是对头文件掌握不牢. 头文件应该干什么? 所谓的头文件,其实它的内容跟 .cpp 文件中的内容是一样的,都是 C++ 的 ...
- keras与卷积神经网络(CNN)实现识别minist手写数字
在本篇博文当中,笔者采用了卷积神经网络来对手写数字进行识别,采用的神经网络的结构是:输入图片——卷积层——池化层——卷积层——池化层——卷积层——池化层——Flatten层——全连接层(64个神经元) ...
- SQLAlchemy查询
SQLAlchemy查询 结果查询: from databases.wechat import User from config import session def search(): result ...
- ssl & ike/ipsec
SSL/TLS
- C/C++ 数据精确度的设置
#include<iostream>#include<iomanip> //此库为代码最后一行快捷设置数据格式需要用的的库 #include<math.h>usin ...
- CARS: 华为提出基于进化算法和权值共享的神经网络结构搜索,CIFAR-10上仅需单卡半天 | CVPR 2020
为了优化进化算法在神经网络结构搜索时候选网络训练过长的问题,参考ENAS和NSGA-III,论文提出连续进化结构搜索方法(continuous evolution architecture searc ...
- Java研发技术学习路线
Java研发技术成长路线 作为一名Java研发者,深感Java技术的学习是一个漫长过程,从一名Java菜鸟开始,加之持之以恒的耐心和脚踏实地的精神,不间断理论的学习,不停止技术实践,终成为一名技术佼佼 ...