一、单例部署
1.下载镜像
docker pull redis:5.0.8-buster
2.创建/usr/local/docker/redis/docker-compose.yml文件
version: '3.1'
services:
redis:
image: 'redis:5.0.8-buster'
restart: always
container_name: redis
ports:
- 6379:6379
command: redis-server --requirepass "123456"
3.执行docker-compose.yml文件
docker-compose up
4.访问redis
进入docker容器
docker exec -it redis bash
连接redis
redis-cli -h 127.0.0.1 -p 6379 -a 123456
set、get示例
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> get hello
"world"
二、主从部署
1./redis/docker-compose.yml
version: '3.1'
services:
redis-master:
image: 'redis:5.0.8-buster'
restart: always
container_name: redis-master
ports:
- 6379:6379
command: redis-server --requirepass "123456"
redis-slave-1:
image: 'redis:5.0.8-buster'
container_name: redis-slave-1
ports:
- 6380:6379
command: redis-server --slaveof redis-master 6379 --requirepass 123456 --masterauth 123456
redis-slave-2:
image: 'redis:5.0.8-buster'
container_name: redis-slave-2
ports:
- 6381:6379
command: redis-server --slaveof redis-master 6379 --requirepass 123456 --masterauth 123456
2./ sentinel/docker-compose.yml
version: '3.1' services: sentinel-1: image: 'redis:5.0.8-buster' container_name: redis-sentinel-1 ports: - 26379:26379 command: redis-sentinel /usr/local/etc/redis/sentinel.conf volumes: - ./sentinel1.conf:/usr/local/etc/redis/sentinel.conf sentinel-2: image: 'redis:5.0.8-buster' container_name: redis-sentinel-2 ports: - 26380:26379 command: redis-sentinel /usr/local/etc/redis/sentinel.conf volumes: - ./sentinel2.conf:/usr/local/etc/redis/sentinel.conf sentinel-3: image: 'redis:5.0.8-buster' container_name: redis-sentinel-3 ports: - 26381:26379 command: redis-sentinel /usr/local/etc/redis/sentinel.conf volumes: - ./sentinel3.conf:/usr/local/etc/redis/sentinel.conf
3./sentinel/sentinel1.conf、/redis/sentinel2.conf、/redis/sentinel3.conf配置相同
port 26379
dir /tmp
sentinel monitor mymaster 127.0.0.1(主机ip地址) 6379(主机端口) 2(从机个数)
sentinel auth-pass mymaster 123456
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
4.访问sentinel
redis-cli -h 127.0.0.1 -p 26379
查看配置信息
sentinel master mymaster