场景
Docker中Docker网络-理解Docker0与自定义网络的使用示例:
Docker中Docker网络-理解Docker0与自定义网络的使用示例
参考上面的流程实现自定义网络的实现。
下面记录其应用实例,使用Docker的自定义网络实现redis集群部署。
注:
博客:
霸道流氓气质
实现
1、创建自定义网络
查看下自定义网络确保创建成功,这里名称为redis_net
2、使用脚本创建redis的6个配置
注意上面的for循环变量port从1到6,然后依次创建目录,创建文件,并通过EOF指令,将配置项写入到文件中。
done代表循环结束。
新建成功后找一个配置文件进行验证
3、拉取redis镜像
下面启动容器时使用的redis的镜像为
redis:5.0.9-alpine3.11
所以事先将其拉取到本地
4、循环启动6个redis容器
使用如下脚本循环启动6个redis的容器
启动成功后可以通过
验证
5、创建集群
进入任意一个docker容器,这里进入redis-1
执行创建集群指令
集群创建成功
中间会提示确认,输入yes即可。
6、连接集群
进入redis1并连接集群
redis集群后查看集群信息
redis集群后查看节点信息
这里可见11、12、13为master,14、15、16为slave。
7、redis集群效果测试演示
当前在redis-1上,设置一个值
可见其存储在13上。
另起一个ssh连接,停掉redis-3容器
此时再redis-1内再获取a
发现其在14上面
再次获取集群节点信息,发现13已经挂掉,并且14代替了13成为了master
此时再重新启动13,发现13变成了slave