Docker + Redis 主从环境搭建

2018-09-20 09:53:42 浏览数 (1)

环境说明

  • Docker
  • Ubuntu/CentOS
  • Redis v4.0.10

redis.conf

redis.conf是Redis的核心配置文件,默认docker运行的redis是不存在配置文件的,这里可以先从官网下载:

代码语言:javascript复制
    wget http://download.redis.io/redis-stable/redis.conf

  下面分别介绍是否指定redis.conf来搭建Redis主从。

不指定redis.conf

1. 运行Redis
1.1 master(主库)
代码语言:javascript复制
    # 运行服务
    docker run -it --name redis-master -d -p 6300:6379 redis redis-server --requirepass masterpassword
    # 测试连接redis
    docker exec -it redis-master redis-cli -a <master-password> 
1.2 slave(从库)
代码语言:javascript复制
    # 运行服务
    docker run -it --name redis-slave -d -p 6301:6379 redis redis-server --requirepass slavepassword # 设定从库密码,可选
    # 测试连接redis
    docker exec -it redis-slave redis-cli
    # 进行密码认证
    auth <slave-password>
2. 主从连接及查看
2.1 从库配置

slaveof <master-ip> <master-port><master-ip>为主库服务ip,<master-port>表示主库所在端口,默认6379

2.2 密码认证

config set masterauth <master-password><master-password>即为主库访问密码

2.3 测试命令

  输入infoinfo Replication

查看主从

指定redis.conf

  将上面下载好的redis.conf复制,分别为redis-master.conf和redis-slave.conf,找到指定配置并修改如下:

  • redis-master.conf
代码语言:javascript复制
    # bind 127.0.0.1 # 注释当前行,表示任意ip可连
    daemonize yes # 让redis服务后台运行
    requirepass masterpassword # 设定密码
  • redis-slave.conf
代码语言:javascript复制
    # bind 127.0.0.1
    daemonize yes
    requirepass slavepassword # 从库密码,可选配置
    # <masterip>表示主库所在的ip,而<masterport>则表示主库启动的端口,默认是6379
    slaveof <masterip> <masterport>
    # 主库有密码必需要配置,<master-password>代表主库的访问密码
    masterauth <master-password>
1. 运行Redis
1.1 master(主库)
代码语言:javascript复制
    # 运行服务
    docker run -it --name redis-master -v /root/redis/redis-master.conf:/usr/local/etc/redis/redis.conf -d -p 6300:6379 redis /bin/bash
    # 进入容器
    docker exec -it redis-master bash
    # 加载配置
    redis-server /usr/local/etc/redis/redis.conf
    # 测试连接
    redis-cli -a <master-password> 
1.2 slave(从库)
代码语言:javascript复制
    # 运行服务
    docker run -it --name redis-slave -v /root/redis/redis-slave.conf:/usr/local/etc/redis/redis.conf -d -p 6301:6379 redis /bin/bash
    # 进入容器
    docker exec -it redis-slave bash
    # 加载配置
    redis-server /usr/local/etc/redis/redis.conf
    # 测试连接
    redis-cli
    # 密码认证
    auth <slave-password>
2. 主从查看

  输入infoinfo Replication

查看主从

相关链接

Redis commands Redis 命令参考 Docker环境搭建redis集群(主从模式)

0 人点赞