今天就跟大家聊聊有关如何创建Rex-Ray volume,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
我们安装部署了 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
删除容器。
看完上述内容,你们对如何创建Rex-Ray volume有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。