实现简单的 redis 主从拷贝
文件名 内容
Dockerfile
FROM redis
COPY redis.conf /etc/redis/redis.conf
RUN redis-server /etc/redis/redis.conf
docker-compose.yml
version: '2'
services:
remaster:
## image: redis
build:
context: .
dockerfile: Dockerfile
container_name: master
ports:
- "6379:6379"
restart: always
expose:
- 6379
## command: /bin/bash -c "redis-server /etc/redis/redis.conf"
slave6380:
image: redis
container_name: slave01
ports:
- "6380:6379"
restart: always
expose:
- 6379
command: /bin/bash -c "sleep 2 && redis-server --port 6380 --slaveof remaster 6379"
depends_on:
- remaster
slave6381:
image: redis
container_name: slave02
ports:
- "6381:6379"
restart: always
expose:
- 6379
command: /bin/bash -c "sleep 2 && redis-server --port 6381 --slaveof remaster 6379"
depends_on:
- remaster
networks:
backend:
redis.conf
daemonize yes
pidfile /var/run/redis.pid
port 6379
timeout 0
loglevel notice
logfile stdout
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
slave-serve-stale-data yes
slave-read-only no
slave-priority 100
appendonly yes
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60