podman 搭建一个redis主从

355 阅读2分钟

不得不说,redis的搭建真的是出乎意料的简单,而且没什么明坑。

准备两份redis.conf文件

主机的

## 节点端口
port 6379
## 允许任何来源
bind 0.0.0.0
## 配置关闭了 RDB 快照的自动保存功能
save ""
## 配置开启了 AOF(Append Only File)持久化方式
appendonly yes
## 指定了 AOF 文件的名称
appendfilename appendonly.aof
## 这一行配置指定了何时将 AOF 缓冲区的内容同步到磁盘
appendfsync everysec
## 配置指定了触发 AOF 文件重写所需的最小文件大小
auto-aof-rewrite-min-size 10M
## 定了 AOF 文件重写的触发条件之一
auto-aof-rewrite-percentage 100
## 指定了 Redis 服务器的密码
requirepass xxxx
## 指定了 Redis 服务器的日志文件路径
logfile "redis.log"

从机的

## 节点端口
port 6379
## 允许任何来源
bind 0.0.0.0
## 配置关闭了 RDB 快照的自动保存功能
save ""
## 配置开启了 AOF(Append Only File)持久化方式
appendonly yes
## 指定了 AOF 文件的名称
appendfilename appendonly.aof
## 这一行配置指定了何时将 AOF 缓冲区的内容同步到磁盘
appendfsync everysec
## 配置指定了触发 AOF 文件重写所需的最小文件大小
auto-aof-rewrite-min-size 10M
## 定了 AOF 文件重写的触发条件之一
auto-aof-rewrite-percentage 100
## 指定了 Redis 服务器的密码
requirepass fff

## 做从机的觉悟
replicaof 172.1.1.1 6379
masterauth xxxx
replica-read-only yes

## 指定了 Redis 服务器的日志文件路径
logfile "redis.log"

给出podman命令如下:

podman run --name some-redis 
-p 6379:6379 
-v /path/to/your/redis.conf:/etc/redis/redis.conf 
-v /path/to/your/redis/data:/data 
--restart always 
redis:7.2.4 redis-server /etc/redis/redis.conf

podman-compose给大伙参考

version: '3.0'

services:
  redis-server:
    # 被墙了,自备梯子
    image: redis:7.2.4
    container_name: some-redis
    command: redis-server /etc/redis/redis.conf
    ports:
      - "6379:6379"
    volumes:
      - /data/redis/conf/redis.conf:/etc/redis/redis.conf
      - /data/redis/data:/data
    restart: always

不用去设置什么从机不能写了,replica-read-only yes已经限好了