Docker Compose搭建Redis主从复制环境的实现步骤
作者:半亩方塘立身
在Docker中搭建Redis主从架构非常方便,下面是一个示例,演示如何使用Docker Compose设置一个Redis主从复制环境。首先,确保已经安装了Docker和Docker Compose。
我这里使用OrbStack替代了Docker desktop。
创建一个名为
redis
的文件夹,并在其中创建一个docker-compose.yml
文件。在
docker-compose.yml
文件中添加以下内容:
version: '3' services: redis-master: image: redis:latest container_name: redis-master ports: - "6379:6379" networks: - redis-network volumes: - ./redis-master-data:/data redis-slave: image: redis:latest container_name: redis-slave ports: - "6380:6379" networks: - redis-network command: redis-server --slaveof redis-master 6379 volumes: - ./redis-slave-data:/data networks: redis-network: driver: bridge
上述docker-compose.yml
文件定义了两个Redis服务,一个用于主节点(redis-master
),另一个用于从节点(redis-slave
)。主节点将监听默认端口6379
,从节点将监听端口6380
。此外,我们创建了一个自定义网络(redis-network
),以便主从节点可以相互通信。
创建两个文件夹
redis-master-data
和redis-slave-data
,用于存储主节点和从节点的数据。打开终端,导航到包含
docker-compose.yml
文件的文件夹,并运行以下命令启动容器:
docker-compose up -d
这将下载Redis镜像(如果尚未下载)并启动主从容器。
docker ps
查看容器状态
- 检查主从复制是否正常工作。您可以使用
redis-cli
连接到主节点并执行一些写操作:
docker exec -it redis-master redis-cli
在redis-cli
中,执行以下命令:
SET mykey "Hello, Redis!"
然后,使用另一个redis-cli
连接到从节点,检查数据是否已经复制:
docker exec -it redis-slave redis-cli
在从节点的redis-cli
中,执行以下命令:
GET mykey
从节点上看到相同的值,这表明主从复制已成功设置。
通过这个示例,我们可以在Docker容器中轻松搭建Redis主从架构,以测试和学习Redis复制功能。请注意,这只是一个简单的示例,实际生产环境中可能需要更多的配置和安全性考虑。
以上就是Docker Compose搭建Redis主从复制环境的实现步骤的详细内容,更多关于Docker Compose搭建Redis主从复制的资料请关注脚本之家其它相关文章!