上一节我们在docker1上创建mysql容器,并使用了 Rex-Ray volume mysqldata ,更新了数据库内容。最后将容器销毁了。
 
本节我们将在docker2上创建一个mysql容器,使用上一节中的 Rex-Ray volume mysqldata
 
 
root@docker2:~# docker run --name mydb_on_docker2 -v mysqldata:/var/lib/mysql -d mysql
 
本次docker run 不需要指定passwd ,因为密码已经保存到mysqldata中了。上面命令执行成功后,Rex-Ray volume mysqldata自动挂载到了docker2上
 
root@docker2:~# docker volume inspect mysqldata
[
    {
        "CreatedAt": "0001-01-01T00:00:00Z",
        "Driver": "rexray",
        "Labels": null,
        "Mountpoint": "",
        "Name": "mysqldata",
        "Options": null,
        "Scope": "global",
        "Status": {
            "availabilityZone": "",
            "fields": null,
            "iops": 0,
            "name": "mysqldata",
            "server": "virtualbox",
            "service": "virtualbox",
            "size": 2,
            "type": "HardDisk"
        }
    }
]
root@docker2:~# docker inspect mydb_on_docker2 | jq .[0].Mounts
[
  {
    "Type": "volume",
    "Name": "mysqldata",
    "Source": "",
    "Destination": "/var/lib/mysql",
    "Driver": "rexray",
    "Mode": "",
    "RW": true,
    "Propagation": ""
  }
]
 
 
 
登录数据库查看在docker1上新建的表和数据是否还在
 
root@docker2:~# docker exec -it mydb_on_docker2 bash
root@d8c462a6e9e4:/# mysql -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.15 MySQL Community Server - GPL
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
 
mysql> select * from my_id;
+------+
| id   |
+------+
|  111 |
+------+
1 row in set (0.00 sec)
 
mysql>
 
 
当前实验拓扑如下:
 
 
Rex-Ray 可以提供跨主机的volume,起生命周期不依赖 Docker Host 和容器。是stateful 容器理想的数据存储方式。
 
如何使用其他storage provider 的 volume driver ,部署和配合 storage provider 会有所不同,不过 Docker 在使用 volume 的方式是一样的:
 
    1、通过 docker volume create --driver 创建volume
    2、创建容器时使用 -v 指定上一步中创建的volume

077、跨主机使用Rex-Ray volume (2019-04-24 周三)的更多相关文章

  1. 第 9 章 数据管理 - 077 - 跨主机使用 Rex-Ray volume

    跨主机使用 Rex-Ray volume 在docker1上创建mysql容器,并挂载使用mysqldata数据卷 磁盘文件直接挂载在了docker1 上 验证数据 也是存在的 Rex-Ray 可以提 ...

  2. 基于Ceph分布式集群实现docker跨主机共享数据卷

    上篇文章介绍了如何使用docker部署Ceph分布式存储集群,本篇在此基础之上,介绍如何基于Ceph分布式存储集群实现docker跨主机共享数据卷. 1.环境准备 在原来的环境基础之上,新增一台cen ...

  3. 跨主机使用 Rex-Ray volume - 每天5分钟玩转 Docker 容器技术(77)

    上一节我们在 docker1 上的 MySQL 容器中使用了 Rex-Ray volume mysqldata,更新了数据库.现在容器已经删除,今天将演示在 docker2 中重新使用这个卷. 在 d ...

  4. centos7下安装docker(16.docker跨主机存储)

    从业务数据的角度看,容器可以分为两类:无状态(stateless)容器和有状态(stateful)容器. 无状态:是指容器在运行的过程中不需要保存数据,每次访问的结果不依赖上一次的访问,比如提供静态页 ...

  5. Docker使用rexray做跨主机存储

    Rex-Ray 是一个优秀的 Docker volume driver,不过只有最新版docker才支持. Rex-Ray 以 standalone 进程的方式运行在 Docker 主机上,安装方法很 ...

  6. docker 跨主机网络:overlay 简介

    简介 docker 在早前的时候没有考虑跨主机的容器通信,这个特性直到 docker 1.9 才出现.在此之前,如果希望位于不同主机的容器能够通信,一般有几种方法: 使用端口映射:直接把容器的服务端口 ...

  7. 使用weave实现跨主机docker容器互联

    关于weave的原理不做细致的说明,如果想了解weave可以登陆官网:https://www.weave.works/ In this post,使用阿里云3台ECS服务器进行weave搭建,并测试搭 ...

  8. Docker:使用Ambassador进行跨主机间容器通信

    转载请注明出处:点我 由于Docker自身的网络的原因,想要在多主机间的容器之间进行通信是比较麻烦的事情.可以利用Ambassador容器来实现这一功能. 基本原理: 利用Ambassador来实现主 ...

  9. Docker容器的跨主机连接

    Docker容器的跨主机连接 Docker容器的跨主机连接 使用网桥实现跨主机容器连接 网络拓扑 网络连接使用的是Bridge 操作 修改/etc/network/interfaces文件,分配静态I ...

随机推荐

  1. js实现自定义修改网页中表格信息

    项目中的打印页面,为提高用户体验,需要增自定修改表格内容的功能,以下是使用示意图(双击td标签部分的内容,可自定义修改): 以下是js插件源码,存为edit.js文件: var tbl, tbt; v ...

  2. Testlink1.9.17使用方法(第二章 登录&汉化设置)

    第二章 登录&汉化设置 QQ交流群:585499566 1,使用超级账户admin/admin登录. 2,登录后,会提示创建一个新的项目,先不要创建,先进入用户管理,设置成中文显示,也就是汉化 ...

  3. SQLServer创建用户登录

    创建用户登录注意事项 密码是区分大小写的. 只有创建SQL Server登录时,才支持对密码预先进行哈希运算. 如果指定MUST_CHANGE,则CHECK_EXPIRATION和 CHECK_POL ...

  4. LeetCode算法题-Flood Fill(Java实现)

    这是悦乐书的第306次更新,第325篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第173题(顺位题号是733).图像由二维整数数组表示,每个整数表示图像的像素值(从0到 ...

  5. Python函数的装饰器修复技术(@wraps)

    @wraps 函数的装饰器修复技术,可使被装饰的函数在增加了新功能的前提下,不改变原函数名称,还继续使用原函数的注释内容: 方便了上下文环境中不去更改原来使用的函数地方的函数名: 使用方法: from ...

  6. 一脸懵逼学习Storm---(一个开源的分布式实时计算系统)

    Storm的官方网址:http://storm.apache.org/index.html 1:什么是Storm? Storm是一个开源的分布式实时计算系统,可以简单.可靠的处理大量的数据流.被称作“ ...

  7. 【原创】谈谈线上CPU100%排查套路

    引言 不知道在大家面试中,有没有遇到这个问题 生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题呢? 这个问题分为两版回答! 高调版 对不起,我是做研发的,这个问 ...

  8. 《你必须掌握的Entity Framework 6.x与Core 2.0》正式出版感想

    前言 借书正式出版之际,完整回顾下从写博客到写书整个历程,也算是对自己近三年在技术上的一个总结,整个历程可通过三个万万没想到来概括,请耐心阅读. 写博.写书完整历程回顾 从2013年12月注册博客园账 ...

  9. router-link RangeError: Maximum call stack size exceeded

    报错的原因是路由不能写外部链接 写成<a href=""></a>

  10. sql 根据身份证号码计算年龄

    ,), GETDATE()) / 365.25) from ConstructionInfo