1.Redis主从搭建
搭建Redis一主二从结构 redis_6379为主 redis_6380和redis_6381为从
先创建6379、6380、6381三个文件夹,分别作为每个redis的挂载文件用
redis.conf为Redis配置文件,redis.log为Redis记录日志文件
在创建日志文件时要修改文件权限
1.1 master
修改redis.conf
修改绑定
→
修改保护模式
→
修改日志文件配置
→
配置完成后就可以运行redis-master
docker run -it \
--name redis_6379 \
--privileged \
-p 6379:6379 \
--network wn_docker_net \
--ip 172.18.12.10 \
--sysctl net.core.somaxconn=1024 \
-e TIME_ZONE="Asia/Shanghai" -e TZ="Asia/Shanghai" \
-v /usr/local/software/redis/6379/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v /usr/local/software/redis/6379/data/:/data \
-v /usr/local/software/redis/6379/log/redis.log:/var/log/redis.log \
-d redis \
/usr/local/etc/redis/redis.conf
1.2 slave
和master一样:
配置bind端口→修改保护模式→修改日志文件配置→
配置设置主服务器端口
→
配置slave自身端口和地址
→
配置完后运行从服务器即可
docker run -it \
--name redis_6380 \
--privileged \
-p 6380:6379 \
--network wn_docker_net \
--ip 172.18.12.11 \
--sysctl net.core.somaxconn=1024 \
-e TIME_ZONE="Asia/Shanghai" -e TZ="Asia/Shanghai" \
-v /usr/local/software/redis/6380/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v /usr/local/software/redis/6380/data/:/data \
-v /usr/local/software/redis/6380/log/redis.log:/var/log/redis.log \
-d redis \
/usr/local/etc/redis/redis.conf
将一主二从配置结束后可以检查到信息
1.3 配置哨兵
创建3个文件夹26379,26380,26381,并引入配置文件
修改配置文件:
以26379为例:
(此步骤其余俩哨兵文件不用修修改↓)
然后运行即可
docker run -it \ --name sentinel_26379 \ --privileged \ --network wn_docker_net \ --sysctl net.core.somaxconn=1024 \ --ip 172.18.12.70 \ -p 26379:26379 \ -v /etc/localtime:/etc/localtime \ -v /usr/local/software/redis_sentinel/26379/conf:/usr/local/etc/redis/conf/ \ -d redis \ redis-sentinel /usr/local/etc/redis/conf/sentinel.conf
IEDA中对redis哨兵的配置文件
2.docker-compose
下载docker-compose文件并移动到Linux的/usr/loacl/bin文件中
[root@localhost /]#mv docker-compose-linux-x86_64 /usr/local/bin
[root@localhost bin]# mv docker-compose-linux-x86_64 docker-compose
此时docker-compose即可在系统运行
IDEA中创建docker-compose.yml文件并编辑配置绑定
由于我们是要运行项目文件,故
配置完毕后运行即可部署到docker上
此外 还可以自定义配置 运用脚本文件来创建docker容器运行
例如
version: '2'
networks:
wn_docker_net:
external: true
services:
hello-compose01:
build: .
image: mysql
container_name: mysql_3321
environment:
- "MYSQL_ROOT_PASSWORD=123"
ports:
- "3321:3306"
networks:
wn_docker_net:
ipv4_address: 172.18.12.101
hello-compose02:
build: .
image: redis
container_name: redis_6388
ports:
- "6388:6379"
networks:
wn_docker_net:
ipv4_address: 172.18.12.102