搭建redis集群
1、 首先需要将redis的镜像文件下载到本地:
当直接pull redis的时候,没有选择版本号,那么使用的是最新版本,最新版本的redis是4.0.6。。。。
这版本发展的真是快,生产环境基本上使用的版本号为2.8。。。。
java
2、 运行redis master服务
java
3、 下载redis的配置文件
[root@docker-1 ~]# wget http://download.redis.io/redis-stable/redis.conf
java
在以上的配置主要将redis的主服务器名称写入到配置文件中,记得原来可以直接写master的主机名或者ip就好了,现在。。。居然还要写上相应的端口。
4、 运行redis的slave服务器
在此处需要注意的是,两个docker默认都是使用桥接模式,也就是使用的是docker0的桥,从而都会分配IP地址,在使用--link的时候,主要是为了从容器里面能够直接解析这个主机名,不需要在配置文件写上ip地址,由于是使用的自定义的配置文件,从而需要将本地的配置文件进行挂载上去,也就是-v参数的作用,将这个配置文件挂载到redis服务器,然后使用这个配置文件启动这个容器。
java
5、 出错的时候如果检查错误
在检查错误的时候,主要是根据日志来检查。
java
如上的错误中,表示无法打开redis的配置文件,也就是在挂载的时候,权限不对,然而这边使用的是devicemapper驱动,从而权限不对,所以无法打开这个配置文件,使用--privileged参数run即可。
6、 容器其他
在使用容器运行服务的时候,很干净,很清爽。。。。
java
如上,运行的是redis的服务,这个只有这个一个进程。。。而且是使用的相应的用户来进行运行,安全性也还是不错的。
在这种环境下,一般是实验性的测试,主备放在同一个机器上是不可以的,生产环境一般主备都分布在不同的机器上面,毕竟。。。鸡蛋不要放在一个篮子里。。。
看下存在的网络情况及主机名的解析:
java
如上,这个是安装docker服务的时候,自动创建的桥接接口docker0接口。
桥接模式如下所示:
这个可以从物理主机上看见两个虚拟的网卡,其实也就是和容器的网卡对应的,docker0桥接的相当于一个虚拟的交换机,从而容器之间能相互通信,和物理主机也能进行通信,如下所示:
java
视频资料链接:
data:text/html;charset=UTF-8;base64,
5oGt5Zac5L2g77yM5p625p6E5biI5a2m5Lmg576k5Y+35pivNTc1NzUxODU0Cg==
复制粘贴在网站打开即可
领取专属 10元无门槛券
私享最新 技术干货