docker-compose启动redis主从的实现
更新时间:2026年07月14日 09:35:57 作者:玄德公笔记
本文主要介绍了docker-compose启动redis主从的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
环境说明:
| IP | 主机名 | 服务 |
|---|---|---|
| 10.xxx.91.100 | liubei | redis-master |
| 10.xxx.91.101 | liubei02 | redis-slave |
1. 主节点
- 创建redis-m 目录,并进入该目录
- 创建
docker-compose.yml文件内容如下:
version: '3'
services:
redis-master:
image: redis:7.4
container_name: redis-master
command: ["redis-server", "/usr/local/etc/redis/redis.conf", "--appendonly", "yes"]
ports:
- "6379:6379"
volumes:
- ./data:/data
- ./redis.conf:/usr/local/etc/redis/redis.conf
restart: always- 创建
redis.conf文件(至少644权限)。内容如下:
bind 0.0.0.0 port 6379 requirepass KrhLSx2XVs masterauth KrhLSx2XVs appendonly yes
说明:
- requirepass 是客户端访问从节点时的密码。
- masterauth 是从节点连接主节点时使用的密码。
- replicaof 告诉从节点同步主节点的数据
2. 从节点配置
- 创建redis-s 目录,并进入该目录
- 创建
docker-compose.yml文件内容如下:
version: '3'
services:
redis-slave:
image: harbocto.xxx.com.cn/public/redis:7.4
container_name: redis-slave
command: ["redis-server", "/usr/local/etc/redis/redis.conf", "--appendonly", "yes"]
ports:
- "6379:6379"
volumes:
- ./data:/data
- ./redis.conf:/usr/local/etc/redis/redis.conf
restart: always- 创建
redis.conf文件(至少644权限)。内容如下:
bind 0.0.0.0 port 6379 requirepass KrhLSx2XVs masterauth KrhLSx2XVs replicaof 10.xxx.91.100 6379 appendonly yes
3. 启动集群
起来就行,不需要过多操作
- 启动master
[root@liubei redis-m]# docker-compose up -d
Creating network "redis-m_default" with the default driver
Creating redis-master ... done
[root@liubei redis-m]# docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------
redis-master docker-entrypoint.sh redis ... Up 0.0.0.0:6379->6379/tcp- 启动slave
[root@liubei02 redis-02]# docker-compose up -d Creating network "redis-02_default" with the default driver Creating redis-slave ... done [root@liubei02 redis-02]# docker-compose ps Name Command State Ports ----------------------------------------------------------------------------- redis-slave docker-entrypoint.sh redis ... Up 0.0.0.0:6379->6379/tcp
4. 验证
4.1 验证状态
- 主节点上
[root@liubei redis-m]# docker exec -it redis-master redis-cli -a KrhLSx2XVs info replication Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. # Replication role:master connected_slaves:1 slave0:ip=10.xxx.91.101,port=6379,state=online,offset=1386,lag=0 master_failover_state:no-failover master_replid:3c049bf4538faf754c56c7e2bd5ac40a217b661a master_replid2:0000000000000000000000000000000000000000 master_repl_offset:1386 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:1386
- 从节点上验证
[root@finaichat-prd-web12 redis-02]# docker exec -it redis-slave redis-cli -a KrhLSx2XVs info replication Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. # Replication role:slave master_host:10.xxx.91.100 master_port:6379 master_link_status:up master_last_io_seconds_ago:2 master_sync_in_progress:0 slave_read_repl_offset:1568 slave_repl_offset:1568 slave_priority:100 slave_read_only:1 replica_announced:1 connected_slaves:0 master_failover_state:no-failover master_replid:3c049bf4538faf754c56c7e2bd5ac40a217b661a master_replid2:0000000000000000000000000000000000000000 master_repl_offset:1568 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:1568
4.2 读写验证
- 主节点写入
[root@liubei ~]# docker exec -it redis-master redis-cli -a KrhLSx2XVs Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> SET key1 liubei OK
- 从节点读取
[root@liubei01 ~]# docker exec -it redis-slave redis-cli -a KrhLSx2XVs Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> get key1 "liubei"
到此这篇关于docker-compose启动redis主从的实现的文章就介绍到这了,更多相关docker-compose redis主从内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
docker+gitlab+gitlab-runner部署详解
这篇文章主要介绍了docker+gitlab+gitlab-runner部署详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-10-10
Docker如何解决tomcat容器启动成功,无法访问的问题
这篇文章主要介绍了Docker如何解决tomcat容器启动成功,无法访问的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-07-07
docker在自定义网络中安装ElasticSearch和Kibana的步骤
这篇文章主要介绍了docker在自定义网络中安装ElasticSearch和Kibana的步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2025-08-08


最新评论