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”这个环境的基础上,进行各种删除实验,并记录.分析各资源的状态. 二.实验脚本 实验创建了一个 ...
随机推荐
- Spark系列-初体验(数据准备篇)
Spark系列-初体验(数据准备篇) Spark系列-核心概念 在Spark体验开始前需要准备环境和数据,环境的准备可以自己按照Spark官方文档安装.笔者选择使用CDH集群安装,可以参考笔者之前的文 ...
- BZOJ4180:字符串计数(SAM,二分,矩阵乘法)
Description SD有一名神犇叫做Oxer,他觉得字符串的题目都太水了,于是便出了一道题来虐蒟蒻yts1999. 他给出了一个字符串T,字符串T中有且仅有4种字符 'A', 'B', 'C', ...
- Fluent Terminal
特性: PowerShell,CMD,WSL或自定义shell的终端 支持选项卡和多个窗口 主题和外观配置 导入/导出主题 导入iTerm主题 全屏模式 可编辑的键绑定 搜索功能 配置shell配置文 ...
- 20145203盖泽双 《Java程序设计》第四周学习总结
20145203盖泽双 <Java程序设计>第四周学习总结 教材学习内容总结 1.多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承单 ...
- EF Core 入门
官方文档地址 https://docs.microsoft.com/zh-cn/aspnet/?view=aspnetcore-2.2#pivot=core EF Core 使用 1. 创建数据库上下 ...
- criterions的选择
criterions分为几类,其中有classification criterions与regression criterions.classification criterions是针对离散的,re ...
- SVN提交的动作解释
今天更新svn,发现有很多动作,其中字母代表的意思半知半解,就随手记录下来: A:add,新增 C:conflict,冲突 D:delete,删除 M:modify,本地已经修改 G:modify a ...
- C++编写简单的Service和Client
在上一步的基础上 编写Service节点 这里,我们将创建一个简单的service节点("add_two_ints_server"),该节点将接收到两个整形数字,并返回它们的和. ...
- 东芝线阵CCD芯片TCD1305DG驱动时序设计
最近在做微型光谱仪,用到了东芝的CCD芯片TCD1305DG,该芯片是单行3648像素,输出信号是时间上离散的模拟信号,典型输出速率为0.5M,即每2000ns输出一个像素值(模拟信号),芯片内部集成 ...
- python 定时器schedule执行任务
import schedule import time """英文版书籍:<essential sqlalchemy>,这本书讲了很多在每天某个指定的时间点上 ...