运行环境
linux系统-CentOS-7-x86_64-Minimal-1908.iso
链接:https://pan.baidu.com/s/1nETURJDYgc0Er-4MUP7cww
提取码:4ff5
docker-compose-Linux-x86_64
链接:https://pan.baidu.com/s/1FR6T7brVLa38wA-dVza_Ng
提取码:b8uu
在有 docker-compose.yml 文件夹的地方运行
docker-compose.yml文件内容
version: "3.1"
services:
redis1:
image: daocloud.io/library/redis:5.0.7
restart: always
container_name: redis1
environment:
- TZ=Asia/Shanghai
ports:
- 7001:6379
volumes:
- ./conf/redis1.conf:/usr/local/redis/redis.conf
command: ["redis-server","/usr/local/redis/redis.conf"]
redis2:
image: daocloud.io/library/redis:5.0.7
restart: always
container_name: redis2
environment:
- TZ=Asia/Shanghai
ports:
- 7002:6379
volumes:
- ./conf/redis2.conf:/usr/local/redis/redis.conf
links:
- redis1:192.168.125.131
command: ["redis-server","/usr/local/redis/redis.conf"]
redis3:
image: daocloud.io/library/redis:5.0.7
restart: always
container_name: redis3
environment:
- TZ=Asia/Shanghai
ports:
- 7003:6379
volumes:
- ./conf/redis3.conf:/usr/local/redis/redis.conf
links:
- redis1:192.168.125.131
command: ["redis-server","/usr/local/redis/redis.conf"]
创建 conf 文件夹
conf文件内创建 redis1.conf
# 配置redis的验证密码 密码为root 去掉#号配置生效
# requirepass root
#持久化的两种方式 只有突然停止的时候才会存
save 900 1
save 300 10
save 60 10000
dbfilename redis.rdb
appendonly yes
appendfilename "redisaof.aof"
在 conf 文件中创建 redis2.conf redis3.conf 文件
这两个配置文件 内容一样都是
replicaof 192.168.125.131 7001
运行:
docker-compose up -d
如果出现
Creating network “docker-compose_default” with the default driver
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-c46c2ff29fb5 -j RETURN: iptables: No chain/target/match by that name.
开启防火墙即可!
运行起来后还是要关闭防火墙
systemctl start firewalld
,不然写数据 同步无法到 从服务器!
或者
最好的方式是吧防火墙彻关闭,重启docker 即可解决问题
systemctl disable firewalld
systemctl restart docker
查看docker 容器并进入容器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1IBgdZmb-1594122306143)(https:/img-blog.csdnimg.cn/20200707194237419.png)]
docker ps
进入redis1 容器内
docker exec -it 3f bash
redis-cli
进入后就可以输入命令
写入 key为name 值为jiangjiang
set name jiangjiang
获取name
get name
退出 ctrl+c 后输入 exit
进去redis2容器 获取 get name
成功!!! 或者使用图形化界面查看
以上都是同一个服务器
在创一个服务器
docker-compose.yml 配置文件
来配置 redis4 从
version: '3.1'
services:
nginx:
restart: always
image: daocloud.io/library/nginx:latest
container_name: nginx
ports:
- 80:80
volumes:
- /opt/docker_nginx/conf.d/:/etc/nginx/conf.d
tomcat1:
restart: always
image: daocloud.io/library/tomcat:8.5.15-jre8
container_name: tomcat1
ports:
- 8081:8080
environment:
TZ: Asia/Shanghai
volumes:
- /opt/docker_mysql_tomcat/tomcat_webapps1:/usr/local/tomcat/webapps
- /opt/docker_mysql_tomcat/tomcat_logs1:/usr/local/tomcat/logs
tomcat2:
restart: always
image: daocloud.io/library/tomcat:8.5.15-jre8
container_name: tomcat2
ports:
- 8082:8080
environment:
TZ: Asia/Shanghai
volumes:
- /opt/docker_mysql_tomcat/tomcat_webapps2:/usr/local/tomcat/webapps
- /opt/docker_mysql_tomcat/tomcat_logs2:/usr/local/tomcat/logs
redis4:
image: daocloud.io/library/redis:5.0.7
restart: always
container_name: redis3
environment:
- TZ=Asia/Shanghai
ports:
- 7004:6379
volumes:
- ./conf/redis4.conf:/usr/local/redis/redis.conf
command: ["redis-server","/usr/local/redis/redis.conf"]
创建 conf文件 创建redis4.conf 配置文件
文件内容为
replicaof 192.168.125.131 7001
在docker-compose.yml 文件下运行 docker-compose up -d
docker ps 查看 redis4 容器 查看