Docker搭建redis主从复制
一、安装Redis搜索redis镜像docker search redis拉取镜像docker pullredis下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为redisdocker images redis运行容器docker run -p 6379:6379 -v $PWD/data:/data-d redis redis-se...
·
一、安装Redis
搜索redis镜像
docker search redis
拉取镜像
docker pull redis
下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为redis
docker images redis
运行容器
docker run -p 6379:6379 -v $PWD/data:/data -d redis redis-server --appendonly yes
命令说明:
-p 6379:6379 : 将容器的6379端口映射到主机的6379端口
-v $PWD/data:/data : 将主机中当前目录下的data挂载到容器的/data
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
连接容器
docker exec -it 43f7a65ec7f8 redis-cli
查看容器
172.17.0.1:6379> info
# Server
redis_version:3.2.0
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:f449541256e7d446
redis_mode:standalone
os:Linux 4.2.0-16-generic x86_64
arch_bits:64
multiplexing_api:epoll
...
二、主从复制
1.运行redis镜像
首先使用docker启动3个redis容器服务,分别使用到6379、6380、6381端口
docker run --name redis-6379 -p 6379:6379 -d redis redis-server
docker run --name redis-6380 -p 6380:6379 -d redis redis-server
docker run --name redis-6381 -p 6381:6379 -d redis redis-server
2.配置redis集群
使用如下命令查看容器内网的ip地址等信息
docker inspect containerid(容器ID)
3个redis的内网ip地址为:
redis-6379 172.17.0.2
redis-6380 172.17.0.3
redis-6381 172.17.0.4
进入docker容器内部,查看当前redis角色(主master还是从slave)(命令:info replication)
[root@localhost /]# docker exec -it 007f7ab412b9 redis-cli
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:0
master_repl_offset:3860
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:3859
127.0.0.1:6379>
可以看到当前3台redis都是master角色,使用redis-cli命令修改redis-6380、redis-6381的主机为172.17.0.2:6379
SLAVEOF 172.17.0.2 6379
再次查看redis-6379主机info,已经有两个从机了.
测试
主
从1
从2
至此,redis下的主从配置就ok了。
更多推荐
已为社区贡献12条内容
所有评论(0)