赵同学
赵同学
发布于 2022-06-21 / 943 阅读
0
0

docker 部署redis主从模式

获取redis镜像

#查看镜像
docker search redis 

#拉取镜像
docker pull redis:6.0 #拉取指定版本或者不加版本号拉取最新版

#查看本地镜像
docker images

创建docker外挂路径

mkdir -p /usr/local/redis/data
到官网下载一个配置文件 redis.conf,配置文件放到/usr/local/redis/redis.conf
以上操作主从服务器都需要执行

修改redis.conf配置文件

  1. 将 bind 127.0.0.1 使用#注释掉,改为# bind 127.0.0.1(bind配置的是允许连接的ip,默认只允许本机连接;若远程连接需注释掉,或改为0.0.0.0)
  2. daemonize no修改为:daemonize yes (后台程序方式运行)
  3. 将 requirepass foobared 注释去掉,foobared为密码,也可修改为别的值(可选,远程连接建议设置),也可以不设置在创建容器中设置。
从库配置文件增加一行 slaveof (masterip:主库ip,masterport:主库port 例:slaveof 127.0.0.1 6379)
如主库设置密码还需要在从库配置文件中增加主库密码
masterauth password

image.png

创建容器

主从都要执行

docker run --name redis -p 6379:6379 \
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/data:/data \
-d --restart=always redis:6.0 redis-server /etc/redis/redis.conf \
--appendonly yes \
--requirepass "123456" 
命令描述
--name redis启动容器的名字
-p 6379:6379将容器的 6379(后面那个) 端口映射到主机的 6379(前面那个) 端口
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf容器配置文件外挂宿主机配置文件
-v /usr/local/redis/data:/data将Redis储存文件夹挂在到主机
-d后台运行
redis:6.0启动哪个版本的 Redis (本地镜像的版本)
redis-server /etc/redis/redis.conf容器中设置 redis-server 启动配置文件
redis-server /etc/redis/redis.conf容器中设置 redis-server 启动配置文件
--restart=always打开Redis持久化配置
--requirepass "123456"设置redis密码

查看Redis是否运行

docker ps 

#查看日志
docker logs redis

进入Redis容器

# 通过 Docker 命令进入 Redis 容器内部
docker exec -it redis bash
# 进入 Redis 控制台
redis-cli
# 输入密码
> auth 123456
# 添加一个变量为 key 为 name , value 为 bella 的内容
> set name test
# 查看 key 为 name 的 value 值
> get name

# 进入从库服务器redis
> get name

从库可以正常显示主库set的name值,一主一从配置完成。

退出容器

exit

评论