docker搭建redis一主俩从(Centos7)

本文详细介绍了如何在Centos7环境下,使用Docker搭建一个Redis主从集群。首先关闭selinux,然后安装并配置Docker加速。接着启动Docker并拉取Redis镜像,创建持久化存储的Redis容器。通过查看容器IP,确定主Redis的IP为172.17.0.4。进一步配置redis-master为主,redis-slave1和redis-slave2为从,最后登录各个节点进行集群配置和验证主从同步状态。
摘要由CSDN通过智能技术生成

关闭selinux

[root@localhost ~]# setenforce 0

安装docker,设置加速

[root@localhost ~]# yum -y install docker
[root@localhost ~]# vim /etc/docker/daemon.json 
[root@localhost ~]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://mzxx8xy8.mirror.aliyuncs.com"]
}

启动docker,拉取镜像

[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker pull redis

运行redis容器,做持久化

[root@localhost ~]# mkdir /data
主:
[root@localhost ~]# docker run --name redis-master -d -p 6379:6379 -v /opt/redis-master:/data redis
从:
[root@localhost ~]# docker run --name redis-slave1 -d -p 6381:6379 -v /opt/redis-slave1:/data redis
[root@localhost ~]# docker run --name redis-slave2 -d -p 6381:6379 -v /opt/redis-slave2:/data redis
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                    NAMES
8fc559c0998e        redis               "docker-entrypoint..."   53 seconds ago       Up 53 seconds       0.0.0.0:6379->6379/tcp   redis-master
991513995da9        redis               "docker-entrypoint..."   About a minute ago   Up About a minute   0.0.0.0:6380->6379/tcp   redis-slave1
5dd7e85e4c08        redis               "docker-entrypoint..."   2 minutes ago        Up 2 minutes        0.0.0.0:6381->6379/tcp   redis-slave2

查看容器IP

[root@localhost ~]# docker inspect redis-master redis-slave1 redis-slave2 | grep IPAd
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.4",
                    "IPAddress": "172.17.0.4",
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.3",
                    "IPAddress": "172.17.0.3",
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.2",
                    "IPAddress": "172.17.0.2",
注:这里记住主的IP:172.17.0.4

配置redis集群,一主俩从

我们将redis-master配置为主,redis-slave1和redis-slave2配置为从

登录从redis-slave1

[root@localhost ~]# docker exec -it redis-slave1 redis-cli
127.0.0.1:6379> SLAVEOF 172.17.0.4 6379
OK
127.0.0.1:6379> ROLE
1) "slave"
2) "172.17.0.4"
3) (integer) 6379
4) "connected"
5) (integer) 14

登录从redis-slave2

[root@localhost ~]# docker exec -it redis-slave2 redis-cli
127.0.0.1:6379> SLAVEOF 172.17.0.4 6379
OK
127.0.0.1:6379> ROLE
1) "slave"
2) "172.17.0.4"
3) (integer) 6379
4) "connected"
5) (integer) 224

登录主redis-master查看主从情况

[root@localhost ~]# docker exec -it redis-master redis-cli
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=172.17.0.3,port=6379,state=online,offset=392,lag=1
slave1:ip=172.17.0.2,port=6379,state=online,offset=392,lag=1

验证主从是否集群成功

[root@localhost ~]# docker exec -it redis-master redis-cli
127.0.0.1:6379> set name tom
OK
127.0.0.1:6379> exit
[root@localhost ~]# docker exec -it redis-slave1 redis-cli
127.0.0.1:6379> get name
"tom"
127.0.0.1:6379> exit
[root@localhost ~]# docker exec -it redis-slave2 redis-cli
127.0.0.1:6379> get name
"tom"
127.0.0.1:6379> exit
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值