创建 Rex-Ray volume - 每天5分钟玩转 Docker 容器技术(76)
前面我们安装部署了 Rex-Ray,并且成功配置 VirtualBox backend,今天演示如何创建和使用 Rex-Ray volume。
在 docker1 或 docker2 上执行如下命令创建 volume:
docker volume create --driver rexray --name=mysqldata --opt=size=2

volume mysqldata 创建成功,大小为 2GB。在 VirtualBox 宿主机中也能看到 mysqldata。

因为 VirtualBox 使用的是 thin-provisioning,volume 初始分配的空间很小。
接下来我们将:
在 dokcer1 上启动 MySQL 容器
mydb_on_docker1,并使用mysqldata作为数据卷。更新数据库,然后销毁
mydb_on_docker1。在 dokcer2 上启动 MySQL 容器
mydb_on_docker2,也使用mysqldata作为数据卷,然后验证数据的有效性。
创建容器并使用数据卷
在 dokcer1 上执行如下命令,启动 MySQL 容器:
docker run --name mydb_on_docker1 -v mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=passw0rd -d mysql
-v mysqldata:/var/lib/mysql 将之前创建的 volume mount 到 MySQL 的数据目录。
我们接下来从更底层分析一下这个 mount 是如何实现的。
首先在 VirtualBox 中查看虚拟机 docker1 的 storage 配置:

Rex-Ray volume mysqldata 已经挂载到 docker1。
执行 docker volume inspect mysqldata:

mysqldata 已被 mount 到 docker1 目录 /var/lib/libstorage/volumes/mysqldata/data,执行 docker inspect mydb_on_docker1 查看容器的 volume 信息:

/var/lib/libstorage/volumes/mysqldata/data 被 mount 到了容器的目录 /var/lib/mysql,这样 Rex-Ray volume mysqldata 就已经 mount 到了容器 mydb_on_docker1。

更新数据库
按照如下步骤更新 MySQL 数据:

① 进入容器 mydb_on_docker1。
② 登录数据库,输入容器启动时由环境变量 MYSQL_ROOT_PASSWORD 指定的密码。
③ 切换到数据库 mysql。
④ 创建数据库表 my_id。
⑤ 插入一条数据。
⑥ 确认数据已经写入。
执行 docker rm -f mydb_on_docker1 删除容器。
现在容器已经被销毁了,下一节我们将在 docker2 上创建新容器并重新使用 volume mysqldata。
书籍:
1.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html
2.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html

创建 Rex-Ray volume - 每天5分钟玩转 Docker 容器技术(76)的更多相关文章
- 跨主机使用 Rex-Ray volume - 每天5分钟玩转 Docker 容器技术(77)
上一节我们在 docker1 上的 MySQL 容器中使用了 Rex-Ray volume mysqldata,更新了数据库.现在容器已经删除,今天将演示在 docker2 中重新使用这个卷. 在 d ...
- 5 秒创建 k8s 集群 - 每天5分钟玩转 Docker 容器技术(115)
据说 Google 的数据中心里运行着超过 20 亿个容器,而且 Google 十年前就开始使用容器技术. 最初,Google 开发了一个叫 Borg 的系统(现在命令为 Omega)来调度如此庞大数 ...
- hostPath Volume - 每天5分钟玩转 Docker 容器技术(148)
hostPath Volume 的作用是将 Docker Host 文件系统中已经存在的目录 mount 给 Pod 的容器.大部分应用都不会使用 hostPath Volume,因为这实际上增加了 ...
- docker managed volume - 每天5分钟玩转 Docker 容器技术(40)
docker managed volume 与 bind mount 在使用上的最大区别是不需要指定 mount 源,指明 mount point 就行了.还是以 httpd 容器为例: 我们通过 - ...
- volume 方式使用 Secret - 每天5分钟玩转 Docker 容器技术(157)
Pod 可以通过 Volume 或者环境变量的方式使用 Secret,今天先学习 Volume 方式. Pod 的配置文件如下所示: ① 定义 volume foo,来源为 secret mysecr ...
- 如何创建 Swarm 集群?- 每天5分钟玩转 Docker 容器技术(95)
本节我们将创建三节点的 swarm 集群. swarm-manager 是 manager node,swarm-worker1 和 swarm-worker2 是 worker node. 所有节点 ...
- k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)
命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建,比如: kubectl run nginx-deployment --image=nginx ...
- 如何安装和配置 Rex-Ray?- 每天5分钟玩转 Docker 容器技术(74)
Rex-Ray 是一个优秀的 Docker volume driver,本节将演示其安装和配置方法. Rex-Ray 以 standalone 进程的方式运行在 Docker 主机上,安装方法很简单, ...
- 配置 VirtualBox backend - 每天5分钟玩转 Docker 容器技术(75)
Rexy-Ray 支持多种 backend,上一节我们已经安装配置了 Rex-Ray,今天演示如何配置 VirtualBox backend. 在 VirtualBox 宿主机,即我的笔记本上启动 v ...
随机推荐
- python基础教程(十)
魔法方法.属性 ------------------------ 准备工作 为了确保类是新型类,应该把 _metaclass_=type 入到你的模块的最开始. class NewType(Objec ...
- JavaScript 30 - 2 学习笔记
学习JavaScirpt30的笔记! 有意思! 2-------> CSS clock 效果是这样的.... 这是改良过后的 版本.... 话不多说,直接来看代码. 首先是html部分 &l ...
- jvm系列 (五) ---类加载机制
类的加载机制 目录 jvm系列(一):jvm内存区域与溢出 jvm系列(二):垃圾收集器与内存分配策略 jvm系列(三):锁的优化 jvm系列 (四) ---强.软.弱.虚引用 我的博客目录 什么是类 ...
- LDMIA、LDMIB、LDMDB、LDMDA、STMIA、LDMFD、LDMFA、LDMED、LDMEA指令详解
简介: ARM指令中多数据传输共有两种: LDM:(load much)多数据加载,将地址上的值加载到寄存器上 STM:(store much)多数据存储,将寄存器的值存到地址上 主要用途:现场保护 ...
- [C#] .Net Core 全局配置读取管理方法 ConfigurationManager
最近在学习.Net Core的过程中,发现.Net Framework中常用的ConfigurationManager在Core中竟然被干掉了. 也能理解.Core中使用的配置文件全是Json,不想F ...
- vim文本基础
p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; f ...
- 【1414软工助教】团队作业6——展示博客(Alpha版本) 得分榜
题目 团队作业6--展示博客(Alpha版本) 作业提交情况情况 为所欲为 团队没有提交,其余都按时提交. 往期成绩 个人作业1:四则运算控制台 结对项目1:GUI 个人作业2:案例分析 结对项目2: ...
- 201521123007《Java程序设计》第7周学习总结
1. 本周学习总结 2. 书面作业 1. ArrayList代码分析 1.1 解释ArrayList的contains源代码 以下是ArrayList的contains源代码: public bool ...
- 201521123104《Java程序设计》第4周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. (1)继承时子类将获得父类的属性与方法,并具有自身特有的属性与方法. (2)使用super还 ...
- 201521123111《Java程序设计》第13周学习总结
本次作业参考文件 正则表达式参考资料 1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 1.1 比较ping www.bai ...