先把我之前的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.
这里简单的主从配置就完成了。
之后就是一些概念性质的内容。