docker跨主机存储

Rex-Ray driver

特点

  • cep 是开源的,而且社区活跃。
  • 支持多种 backend,VirtualBox 的 Virtual Media、Amazon EBS、Ceph
    RBD、OpenStack Cinder 等。
  • 支持多种操作系统,Ubuntu、CentOS、RHEL 和 CoreOS。
  • 支持多种容器编排引擎,Docker Swarm、Kubernetes 和 Mesos。
  • Rex-Ray 安装使用方法非常简单。

实验环境
Oracle VM VirtualBox虚拟机
docker:192.168.2.100
docker1:192.168.2.200

安装部署

下载

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

##下载慢可以直接网页下载

创建配置文件

https://rexrayconfig.cfapps.io/ 图形化生成配置文件
docker跨主机存储_第1张图片

##ADD A Service 虚拟机软件
##Endpoint 宿主机ip
##Volume Path:  宿主机用户路径

cat /etc/rexray/config.yml 
libstorage:
  service: virtualbox
virtualbox:
  endpoint: http://192.168.3.2:18083
  volumePath: /Users/lx/VirtualBox/Volumes
  controllerName: SATA

配置 VirtualBox backent

##宿主机 CMD 启动vboxwebsrv 服务
CMD:
E:\>cd Oracle 				##软件路径

E:\Oracle>cd VirtualBox

E:\Oracle\VirtualBox>VBoxWebSrv.exe -H 0.0.0.0

##再开一个CMD关闭VirtualBox登录认证
E:\>cd Oracle

E:\Oracle>cd VirtualBox

E:\Oracle\VirtualBox>VBoxManage.exe setproperty websrvauthlibrary null

在关机状态下修改虚拟机storage配置 删除 IDE

docker跨主机存储_第2张图片
删除IDE磁盘 蓝圈哪里改为30

开启虚拟机启动rex-ray服务

systemctl start rexray

运行rexray volume ls查看是否工作

rexray volume ls
ID                                    Name         Status       Size
5ddabe97-5f2b-4a1d-aadc-32435ebc578f  docker.vdi   attached     20

使用REX-RAY volume

docker创建volume

docker volume create --driver rexray --name=mysql --opt=size=2
##opt=size单位为G

启动容器

docker run -dit --name docker_mysql -v mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

进入mysql容器创建一个表

docker exec -it 704a sh

# mysql -uroot -p123456

mysql> create database mytest;
Query OK, 1 row affected (0.00 sec)

mysql> use mytest;
Database changed

mysql> create table t1(id int,name varchar(20));
Query OK, 0 rows affected (0.11 sec)

mysql> insert into t1 values (1,"zhangsan")
-> ;
Query OK, 1 row affected (0.01 sec)

mysql> insert into t1 values (1,"lisi");
Query OK, 1 row affected (0.02 sec)

mysql> select * from t1;
+------+----------+
| id   | name     |
+------+----------+
|    1 | zhangsan |
|    1 | lisi     |
+------+----------+

退出容器并删除

exit
exit

docker stop 704a
704a

docker rm 704a
704a

进入docker1

##docker1

docker run -dit --name docker_mysql -v mysql:/var/lib/mysql mysql:5.7

##进入容器

docker exec -it 149b sh

##进入mysql
# mysql -uroot -p123456

##启动容器时没有设置密码使用docker主机的密码就可以登录原因是mysql的数据都存储在了 mysql卷中

##查看表

mysql> use mytest

mysql> select * from t1
-> ;
+------+----------+
| id   | name     |
+------+----------+
|    1 | zhangsan |
|    1 | lisi     |
+------+----------+
2 rows in set (0.00 sec)

你可能感兴趣的:(docker)