【Docker学习】—— docker-compose部署之redis

前言

	基于若依框架,慢慢学习,总结笔记
	该篇文章,是redis集群部署,博主使用了两台服务器。每台建了三个redis节点

1.构建redis文件目录结构

在这里插入图片描述

2.redis配置文件的路径及内容

在这里插入图片描述

port 6371 # redis端口号,与文件夹名保持一致
requirepass 123456 # redis密码
masterauth 123456 # 主节点redis密码
protected-mode no # 是否受保护的  一般都是开启的  保证安全性
daemonize no #已守护进程的方式运行, 默认是 no , 需要自己开启为 yes ,否则 一退出 进程就结束了
appendonly yes # 默认是不开启的, 默认是使用 rdb方式持久化 , 大部分情况下rdb 完全够用!
cluster-enabled yes # 开启支持集群开关
cluster-config-file nodes.conf # 集群配置名
cluster-node-timeout 15000 # 超时时间
cluster-announce-ip 192.168.0.135 # 实际为各节点网卡分配ip
cluster-announce-port 6371 # 集群中节点映射端口
cluster-announce-bus-port 16371 # redis节点总线端口

4.在最外层创建环境变量文件(参考上面截图,创建在home层级下)

  • 文件名:hosts-prod(用于docker-compose等文件获取统一环境变量)
127.0.0.1 master

服务器A内网IP redis1.host
服务器A内网IP redis2.host
服务器A内网IP redis3.host
服务器B内网IP redis4.host
服务器B内网IP redis5.host
服务器B内网IP redis6.host

5.docker-compose文件

# 描述 Compose 文件的版本信息
version: "3.8"

# 定义服务,可以多个
services:
  redis-6371: # 服务名称
    image: redis # 创建容器时所需的镜像
    container_name: redis-6371 # 容器名称
    network_mode: "host" # host 网络模式
    volumes: # 数据卷,目录挂载
      - ./6371/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - ./6371/data:/data
    command: redis-server /usr/local/etc/redis/redis.conf # 覆盖容器启动后默认执行的命令
    restart: always # 容器总是重新启动

  redis-6372:
    image: redis
    container_name: redis-6372
    network_mode: "host"
    volumes:
      - ./6372/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - ./6372/data:/data
    command: redis-server /usr/local/etc/redis/redis.conf
    restart: always # 容器总是重新启动

  redis-6373:
    image: redis
    container_name: redis-6373
    network_mode: "host"
    volumes:
      - ./6373/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - ./6373/data:/data
    command: redis-server /usr/local/etc/redis/redis.conf
    restart: always # 容器总是重新启动

6.编写sh执行脚本

docker-compose -f docker-compose-redis.yml -p redis down
docker-compose -f docker-compose-redis.yml -p redis build
docker-compose -f docker-compose-redis.yml -p redis up -d

接下来执行sh脚本就好啦,注意观察是否部署成功

猜你喜欢

转载自blog.csdn.net/weixin_43387699/article/details/131844574