2.Redis使用docker-compose进行主从配置

先把我之前的docker删掉

docker rm name/id
查看运行的容器
docker ps 
docker ps -q(-q是只查看ID)
查看所有容器
docker ps -a 
docker ps -a -q(-q是只查看ID)
删除全部容器的命令
docker stop $(docker ps -q) 关闭所有运行中的容器
docker rm $(docker ps -a -q) 删除所有容器

把之前的目录清空
把之前的网络删除

查看所有网络
docker network ls
安装名字删除网络
docker network rm redis-network

docker-compose国内安装


curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version

redis的配置文件修改

#redis-master的redis.conf修改
requirepass 123456
logfile "/var/log/redis/redis-server.log"
bind 0.0.0.0

#redis-slave 的redis.conf修改
requirepass 123456
logfile "/var/log/redis/redis-slave.log"
bind 0.0.0.0
masterauth 123456

先把路径添加权限

chmod a+rwx /usr/local/redis/master/log
chmod a+rwx /usr/local/redis/slave/log

docker-compose.yaml


version: "3.6"
services: #服务
  redis1:
    image: redis #指定镜像名称
    container_name: redis-master  #容器名称
    ports: #端口映射
      - "6380:6379"
    networks:
      redis-network2:
          ipv4_address: 192.168.2.2   #设置ip地址 可有可无
    working_dir: /data #工作目录
    stdin_open: true  #打开标准输入
    tty: true  #模拟伪终端
    volumes:
      - /usr/local/redis/master/config:/etc/redis
      - /usr/local/redis/master/data:/data
      - /usr/local/redis/master/log:/var/log/redis
    restart: always
    command: redis-server /etc/redis/redis.conf --appendonly yes  --requirepass 123456
  redis2:
    image: redis #指定镜像名称
    container_name: redis-slave  #容器名称
    ports: #端口映射
      - "6381:6379"
    networks:
      redis-network2:
          ipv4_address: 192.168.2.3   #设置ip地址 可有可无
    depends_on:
      - redis1
    working_dir: /data #工作目录
    stdin_open: true  #打开标准输入
    tty: true  #模拟伪终端
    volumes:
      - /usr/local/redis/slave/config:/etc/redis
      - /usr/local/redis/slave/data:/data
      - /usr/local/redis/slave/log:/var/log/redis
    restart: always
    command: redis-server /etc/redis/redis.conf --appendonly yes --masterauth 123456 --slaveof redis1 6379 --requirepass 123456
networks:
  redis-network2:
    driver: bridge
    ipam:
      config:
         - subnet: "192.168.2.0/24
docker-compose up -d
docker-compose ps
docker exec -it redis-master bash
redis-cli
#进入redis:
auth 123456
get a => null
set a 1
get a => 1

进入从机(因为默认从机只能读不能写,所以set会报错,但是能读取master的变量 a)

docker exec -it redis-slave bash
redis-cli
#进入redis:
auth 123456
get a => 1
set a 2 =>(error) READONLY You can't write against a read only replica.

这里简单的主从配置就完成了。
之后就是一些概念性质的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

InterestingFigure

迈克 Let's Go

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值