• linux服务器docker 搭建 redis集群


    一、使用docker 拉取redis镜像

    进入 docker hup 官网 https://hub.docker.com/

    搜索redis,找到official

    复制 docker pull redis:latest  到我们的linux服务器 执行即可

     使用docker images 查看 

    发现已经有一个叫redis的镜像了

    二、 创建6个redis容器

    1. 容器名字 对外端口
    2. redis-node-1 5001
    3. redis-node-2 5002
    4. redis-node-3 5003
    5. redis-node-4 5004
    6. redis-node-5 5005
    7. redis-node-6 5006
    1. docker run -d --name redis-node-1 --net host --privileged=true -v /etc/localtime:/etc/localtime -v /opt/docker/redis/data/node1:/data redis --cluster-enabled yes --appendonly yes --port 5001 --requirepass mypassword --masterauth mypassword
    2. docker run -d --name redis-node-2 --net host --privileged=true -v /etc/localtime:/etc/localtime -v /opt/docker/redis/data/node2:/data redis --cluster-enabled yes --appendonly yes --port 5002 --requirepass mypassword --masterauth mypassword
    3. docker run -d --name redis-node-3 --net host --privileged=true -v /etc/localtime:/etc/localtime -v /opt/docker/redis/data/node3:/data redis --cluster-enabled yes --appendonly yes --port 5003 --requirepass mypassword --masterauth mypassword
    4. docker run -d --name redis-node-4 --net host --privileged=true -v /etc/localtime:/etc/localtime -v /opt/docker/redis/data/node4:/data redis --cluster-enabled yes --appendonly yes --port 5004 --requirepass mypassword --masterauth mypassword
    5. docker run -d --name redis-node-5 --net host --privileged=true -v /etc/localtime:/etc/localtime -v /opt/docker/redis/data/node5:/data redis --cluster-enabled yes --appendonly yes --port 5005 --requirepass mypassword --masterauth mypassword
    6. docker run -d --name redis-node-6 --net host --privileged=true -v /etc/localtime:/etc/localtime -v /opt/docker/redis/data/node6:/data redis --cluster-enabled yes --appendonly yes --port 5006 --requirepass mypassword --masterauth mypassword

    参数说明
    -d以守护进程的方式启动
    --name redis-node-6容器名字设置为redis-node-6
    --net host使用宿主机的ip和端口
    --privileged=true获取宿主机用户权限
    -v /etc/localtime:/etc/localtime使用宿主机时间
    -v /opt/docker/redis/data/node6:/data容器卷,宿主机地址:容器地址
    redisredis的镜像名字
    --cluster-enabled yes开启集群
    --appendonly yes开启持久化
    --port 5006redis端口
    --requirepass mypasswordredis密码
    --masterauth mypassword主从复制时,从redis访问主redis密码

    docker ps 查看

    # 进入某一个容器

    docker exec -it redis-node-1 /bin/bash

    # 组建集群,39.97.23.10 是当前物理机器的ip ,如果是阿里云的公网ip访问不同,可以使用私网
    有密码:

    redis-cli --cluster create -a mypassword 39.97.23.10:5001 39.97.23.10:5002 39.97.23.10:5003 39.97.23.10:5004 39.97.23.10:5005 39.97.23.10:5006 --cluster-replicas 1


    无密码:

    redis-cli --cluster create 39.97.23.10:5001 39.97.23.10:5002 39.97.23.10:5003 39.97.23.10:5004 39.97.23.10:5005 39.97.23.10:5006 --cluster-replicas 1


    docker 单间Redis集群部署出现Waiting for the cluster to join一直在等待
    问题原因:
    我用的是阿里云的服务区,就是防火墙的问题,开发部署的3主3从服务区,第一个是开放阿里云的安全组上面部署的redis的端口号,第二个则是开放安全组部署的redis端口号+1000,比如你的redis端口是6371,加两个安全组一个是6371,一个是16371,这样在加入集群时,才不会一直处于Waiting for the cluster to join 状态

    创建成功后,通过 redis-cli 查看一下集群节点信息:

    root@CentOS7:/data# redis-cli -p 5001
    127.0.0.1:6379> cluster nodes

    查看容器日志:

    docker logs -f 容器id

  • 相关阅读:
    基于S32K144驱动NSD8308
    Docker日常工作常用命令
    【Day-25慢就是快】代码随想录-二叉树-翻转二叉树
    【XTDrone Ubuntu18.04】XTDrone + Ubuntu18.04 + PX4 安装过程
    现代对称密码
    linux安装mysql
    AndroidSDK开发6我用kotlin写了一个简单sdk
    如何在 R 中执行幂回归
    rust 快速一览
    Dubbo 一些你不一定知道但是很好用的功能
  • 原文地址:https://blog.csdn.net/u011159417/article/details/126640008