一、docker新建两个redis服务端,并分别设置端口为6379和6380
命令如下:
docker run -p : -d --name redis-server docker.io/redis:3.0. redis-server --port
docker run -p : -d --name redis-server docker.io/redis:3.0. redis-server --port
创建好后可以查看容器的6380端口对应本地机器的IP和端口号,确认成功
docker port redis-server2
二、为两个redis服务端分别建立各自的客户端redis-client、redis-client2
命令如下
docker run -it --name redis-client1 docker.io/redis:3.0. redis-cli -h 172.17.0.1 -p
docker run -it --name redis-client2 docker.io/redis:3.0. redis-cli -h 172.17.0.1 -p
此时在docker上能看到四个不同的容器了
docker ps
通过客户端发送命令确认服务端的不同端口
info
或者
config get port
三、在redis-client2发送命令,使6380服务器成为6379的slave,通过role命令查看当前的角色
slaveof 172.17.0.1
四、可以在redis-client1上随意set内容,redis-client2上使用get查看
注意,当6380为readonly的slave时,只能被动接受6379的内容,无法使用set
五、使用命令退出主从关系
slaveof no one
外部关闭redis服务器
redis-cli -h 127.0.0.1 -p shutdown
通过客户端关闭:
shutdown
断开客户端连接(会先保存数据)
quit