zoukankan      html  css  js  c++  java
  • Docker使用rexray做跨主机存储

    Rex-Ray 是一个优秀的 Docker volume driver,不过只有最新版docker才支持。

    Rex-Ray 以 standalone 进程的方式运行在 Docker 主机上,安装方法很简单,在需要使用 Rex-Ray driver 的主机 docker1 和 docker2 上运行如下命令:

    curl -sSL https://rexray.io/install | sh

    然后创建并编辑 Rex-Ray 的配置文件 /etc/rexray/config.yml

    libstorage:
      service: rbd
    rbd:

    重启 Rex-Ray 服务:

      systemctl restart rexray.service

    创建块设备:

      rbd create --size 4096 my_data

    运行 rexray volume ls 测试 Rex-Ray 是否能够正常工作。

    运行docker volume ls 查看可用的卷。

    在 dokcer1 上启动 MySQL 容器 mydb_on_docker1,并使用 mysqldata 作为数据卷。

      docker run --name mydb1 -v my_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123 -d mysql

    更新数据库,然后销毁 mydb1:

      docker rm -f mydb_on_docker1

    在 dokcer2 上启动 MySQL 容器 mydb2,也使用 my_data 作为数据卷,然后验证数据的有效性。

      docker run --name mydb2 -v my_data:/var/lib/mysql -d mysql

    新容器也使用相同的卷 my_data,不过这次不需要指定环境变量 MYSQL_ROOT_PASSWORD,因为密码已经保存到 my_data 里面了。

    Rex-Ray 可以提供跨主机的 volume,其生命周期不依赖 Docker Host 和容器,是 stateful 容器理想的数据存储方式。

    如何使用其他 storage provider 的 volume driver,部署和配置 storage provider 会有所不同,不过 Docker 在使用 volume 的方式都是一样的:

      通过 docker volume create --driver 创建 volume,创建容器时用 -v 指定上一步创建的 volume

  • 相关阅读:
    数据类型
    注释
    编译型语言和解释型语言
    POJ1026 Cipher(置换的幂运算)
    最短路(代码来源于kuangbin和百度)
    POJ1753 Flip Game(bfs、枚举)
    POJ1860 Currency Exchange(bellman-ford)
    【转】博弈—SG函数
    【转】欧几里得与扩展欧几里得
    HDU 5833 Zhu and 772002(高斯消元)
  • 原文地址:https://www.cnblogs.com/zhangyin6985/p/8746215.html
Copyright © 2011-2022 走看看