学习
实践
活动
工具
TVP
写文章

docker搭建redis集群,详解!

搭建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==

复制粘贴在网站打开即可

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180110A0AE6M00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券