centos7下安装docker(16.1docker跨主机存储--Rex-Ray)
一。Rex-Ray以standalone进程的方式运行在docker主机上,安装方法很简单:在docker1和docker2上运行如下命令:
curl -sSL https://dl.bintray.com/emccode/rexray/install | sh
然后创建并编辑Rex-Ray的配置文件/etc/rexray/config.yml
也可以使用图形化的在线Rex-Ray配置生成:http://rexrayconfig.codedellemc.com/
配置文件的内容如下:
1. service: virtualbox 使用virtualbox的virtual media作为backend,提供data volume。原因是我们的实验环境就是virtualbox,不需要额外部署存储系统,作为验证和实践,已经足够多了。如果是生产系统,肯定得选择更加稳定的backend,比如ceph rbd
2. endpoint: http://192.168.99.1:18083 是vietualbox宿主机的服务端口,后面会演示如何启动这个服务
3.volumePath: /Users/<your-name>/VirtualBox/Volumes 是vietual宿主机上存放data volume的目录
4. controllerName: SATA 是controller的名字,不用修改
二 .在每台host主机上配置完Rex-Ray driver之后,要配置backend
注:由于实验环境的原因,没有做实验,就不展示了
三。在每台host主机上分别创建volume
docker volume create --driver rexray --name=mysqldata --opt=size=2
四。先在一台host主机上运行容器并使用数据卷(mysqldata)
宿主机提供的backend被容器使用过程:
1.backend首先提供了volume,如:mysqldata
2.mysqldata先被挂载到host主机上,host主机会自动创建一个挂载点
3.host主机上的挂载点通过容器运行时的指定,被挂载到容器上
五。更新容器中的数据,删除容器
六。在另外一个host主机上重新运行一个容器,并挂载相同的volume(mysqldata),这个volume(mysqldata)会被冲重新使用。使用过程和之前一样
总结:1.假设有两个host主机docker1和docker2,当我们在docker1上运行了两个有状态的容器时,要分别创建两个不同名的volume,
2.volume实际是backend的一部分
3.volume有点类似共享存储
- centos7下安装docker(16.docker跨主机存储)
- centos7下安装docker(15.5容器跨主机网络--flanneld)
- centos7下安装docker(13.1docker存储--data volume)
- centos7下安装docker(15.4跨主机网络-flannel)
- centos7下安装docker(13docker存储)
- centos7下安装docker(13.2容器数据共享)
- centos7下安装docker(2镜像)
- centos7下安装docker 17.x
- centos7下安装docker(18docker日志---docker logs)
- CentOS7下Docker的安装教程
- Docker学习笔记3:CentOS7下安装Docker-Compose
- CentOS7下如何正确安装并启动Docker(图文详解)
- VM中的最小化安装的Centos7下安装vmware-tools实现宿主机和物理机之间文件传输
- CentOS7下安装Docker-Compose
- 【Linux】【Docker】CentOS6.9主机上Docker Ubuntu14.04系统安装CUDA问题Module nvidia-uvm not found
- Docker学习笔记3:CentOS7下安装Docker-Compose
- centos7下安装docker(9.3容器对资源的使用限制-Block IO))
- 如何安装和配置 Rex-Ray?- 每天5分钟玩转 Docker 容器技术(74)
- CentOS7下安装Docker