Docker与Redis集群搞基(需注意的)

阅读: 评论:0

Docker与Redis集群搞基(需注意的)

Docker与Redis集群搞基(需注意的)

我在docker中安装了redis的集群,本来想着连接应该没有问题的,但是集群的时候连接不上, 单独连接的时候,能连接的上,bind的ip是容器的ip,一点毛病都没有,外网就是连接不上容器的集群,但是宿主机通过客户端可以连接上集群,而且外网能连接集群的任何节点,但是连接不了集群,菊花非常的疼啊,但是不通过docker(直接搭建在linux虚拟机上),同样的操作,可以访问集群.(PS 在docker下搭建有问题,由于容器和物理机不在一个网段,导致物理机访问不了容器的redis服务)

1、容器中搭建集群

1.1端口的映射

可以看到端口一一对应,我怀疑,就是映射的是0.0.0.0ip,应该修改端口映射,应该映射为主机ip:port

#原来 的配置方式
docker run -it 
-p 7001:7001 
-p 7002:7002 
-p 7003:7003 
-p 7004:7004 
-p 7005:7005 
-p 7006:7006 
--name redis-cluster 
yellowcong/redis-cluster:latest

1.2服务器端访问容器

大家可以看到,我连接的ip是宿主机的ip,而且也可以看到,是容器的集群ip

1.3服务启动脚本

#!/bin/bash

echo 'start servier'redis-server /usr/local/redis/redis-4.0.2/redis_cluster/f
redis-server /usr/local/redis/redis-4.0.2/redis_cluster/f
redis-server /usr/local/redis/redis-4.0.2/redis_cluster/f
redis-server /usr/local/redis/redis-4.0.2/redis_cluster/f
redis-server /usr/local/redis/redis-4.0.2/redis_cluster/f
redis-server /usr/local/redis/redis-4.0.2/redis_cluster/fecho 'redis is start now'

1.4关闭脚本

#!/bin/bash

echo 'stop service 'redis-cli -h 172.17.97.2 -p 7001 shutdown
redis-cli -h 172.17.97.2 -p 7002 shutdown
redis-cli -h 172.17.97.2 -p 7003 shutdown
redis-cli -h 172.17.97.2 -p 7004 shutdown
redis-cli -h 172.17.97.2 -p 7005 shutdown
redis-cli -h 172.17.97.2 -p 7006 shutdown

1.5服务端口

redis服务器端口和eth0网卡端口一致

集群也没毛病

不能连接的原因

bind只能让redis从哪一张网卡来访问redis,所以 我们设定的是容器的ip网段,而我们的宿主机是和容器,是通过桥接,所以是一个网段的,而物理机和虚拟机 是一个网段的,物理机和容器不在一个网段所以访问不了容器里面的redis

#查看监听端口,监听的端口是172网段的,所以导致我们使用192的网段,就是调用不了
ps -aux |grep redis 

本文发布于:2024-01-31 04:42:46,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170664736925576.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:集群   需注意   Docker   Redis
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23