Docker持久化存储与数据共享
一.Docker持久化数据的方案
基于本地文件系统的Volume:可以在执行docker create或docker run时,通过-v参数将主机的目录作为容器的数据卷。这部分功能便是基于本地文件系统的volume管理。
基于plugin的Volume:支持第三方的存储方案,比如NAS,aws
1.Volume的类型
受管理的data Volume,由docker后台自动创建
绑定挂载的Volume,具体挂载位置可以由用户指定
二.数据持久化:Data Volume
1.操作流程
注意:mysql的Dockerfile中由VOLUME ["/var/lib/mysql"]指定了持久化的路径,此路径是要被持久化的路径,默认volume的名称为local
执行 sudo docker run -d -v mysql:/var/lib/mysql --name mysql1 -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql启用一个mysql的image容器,其中-v后跟的mysql表示volume别名,冒号后面的路径为volume本地存储的地址
查看 sudo docker volume ls查看docker的volume,会发现自动生成了一个volume
通过 sudo docker volume inspect volume的NAME值查看对应volume的详情信息
如果希望删除volume,则可以使用sudo docker volume rm volumeNAME
在这里向大家推荐一个资料分享群:894951460,里面有大数据离线处理、数据实时处理、Hadoop 、Spark、推荐系统算法等内容的资料分享,如果有兴趣的朋友可以加入领取。
2.恢复volume数据
上述操作后会将数据存储到/var/lib/mysql中,我们可以对container中的mysql数据进行增删改查操作
通过 sudo docker rm mysql1移除container
此时查看/var/lib/mysql路径仍然存储volume
我们可以使用 sudo docker run -d -v mysql:/var/lib/mysql --name mysql1 -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql再次开启一个container,此时的volume会延用之前的数据实现数据的恢复
三.数据持久化:Bind Mounting
1.与Data Volume的区别
Data Volume需要在Dockerfile中定义要创建的volume
Bind Mounting是在运行时指定本地目录与容器中目录的一一对应关系即可docker run -v /home/aaa:/root/aaa
Docker持久化存储与数据共享的更多相关文章
- 20.docker 持久化存储与数据共享
1.image layer 和 container layer 的关系 image layer 是可读的 container layer 是在image layer 之上创建的 一个可读可写层 con ...
- Centos7——docker持久化存储和卷间状态共享(笔记)
docker持久化存储和卷间状态共享(笔记) 本章介绍 存储卷的介绍 存储卷的两种类型 宿主机好额容器之间如何共享数据 容器之间如何共享数据 存储卷的声明周期 存储卷之间的数据管理和控制模式 就像在 ...
- s5 Docker的持久化存储和数据共享
数据库容器的数据如何才能不会丢失?Docker的持久化存储技术.Docker的数据共享技术能极大提高开发人员的开发效率,边写代码,边看运行结果. 数据持久化之Data Volume Docker持久化 ...
- 18、docker的持久化存储和数据共享
18.1 Data Volume Docker持久化数据方案 基于本地文件系统的Volume 可以在执行docker create或者docker run的时候,通过-v参数将主机的目录作为容器的 ...
- docker 持久化存储
1.data Volume mysql5.7:dockerfile FROM debian:stretch-slim # add our user and group first to make s ...
- docker容器的持久化存储:Volume
独立于docker容器的持久化存储: 法(1):自动将服务器文件夹挂载到容器内部文件夹/usr/share/nginx/html,这样只修改服务器文件夹下的内容即可对应修改容器内部文件夹的内容 将服务 ...
- 五十四.自定义镜像及仓库、持久化存储 、 Docker网络架构
1. 制作自定义镜像(base基础镜像,搭建共性环境) 基于centos镜像使用commit创建新的镜像文件 基于centos镜像使用Dockerfile文件创建一个新的镜像文件 1.1 使用镜像 ...
- docker容器存储
写在前面 我们在上篇学习了容器网络,对容器网络驱动bridge工作原理做了较为详细的介绍,今天小作文一起看看容器中另一个关键域-存储. 容器的存储可以分为两大类: 一种是与镜像相关的即我们在<d ...
- Kubernetes持久化存储2——探究实验
目录贴:Kubernetes学习系列 一.简介 本文在“创建PV,创建PVC挂载PV,创建POD挂载PVC”这个环境的基础上,进行各种删除实验,并记录.分析各资源的状态. 二.实验脚本 实验创建了一个 ...
随机推荐
- 针对IE及其它的css hack
现在一些针对针对政府的oa项目还要去解决兼容IE6 7 8,这对前端开发来说简直是灾难,在要使用一些css3,或者H5的地方,我们就要慎重了,在使用新特性的同时要兼顾老的浏览器的,做到优雅降级,或者针 ...
- Python:基础知识(二)
常用模块 urllib2 :用于发送网络请求,获取数据 (Pyhton2中的urllib2工具包,在Python3中分拆成了urllib.request和urllib.error两个包.) json: ...
- 关于C#的静态类和静态构造函数
静态构造函数是C#的一个新特性,其实好像很少用到.不过当我们想初始化一些静态变量的时候就需要用到它了.这个构造函数是属于类的,而不是属于哪里实例的,就是说这个构造函数只会被执行一次.也就是在创建第一个 ...
- Kafka设计解析(六)Kafka高性能架构之道
转载自 技术世界,原文链接 Kafka设计解析(六)- Kafka高性能架构之道 本文从宏观架构层面和微观实现层面分析了Kafka如何实现高性能.包含Kafka如何利用Partition实现并行处理和 ...
- webpack超详细配置, 使用教程(图文)
流程 webpack安装 Step 1: 首先安装Node.js, 可以去Node.js官网下载. Step2: 在Git或者cmd中输入下面这段代码, 通过全局先将webpack指令安装进电脑中np ...
- 【gulp】imageisux安装(webp图片)
此篇是imageisux的安装教程,imageisux用于处理任何格式图片生成新的webp格式 安装前提 nodejs—npm—gulp 现下以我的配置来展示安装gulp-imageisux过程 1) ...
- 转换CLOB字段类型为VARCHAR2, lob类型不支持的sql语句
转自:https://blog.csdn.net/e_wsq/article/details/7561209 步骤: 1.建立一个临时varchar2字段用来保存数据 2.将clob的内容截取后更新到 ...
- java_继承、实现、依赖、关联、聚合、组合的代码表示
一.继承.实现.依赖.关联.聚合.组合的简单代码表示 1.继承关系 1).文字描述 一个类或者接口继承了另一个类或者接口,增加了在原有的方法和属性上增加了新的方法和属性. 2).代码表示 class ...
- windows下beautifulsoup使用lxml解析使用报错
s4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need ...
- Scala_标识符
用于对象,类,变量和方法的名称称为标识符.关键字不能用作标识符,标识符区分大小写. 类名首字母大写 方法名称第一个字母小写 程序文件名应该与对象名称完全匹配 1.字母数字标识符 以字母或下划线开头,后 ...