一、docker新建兩個redis服務端,並分別設置端口為6379和6380
命令如下:
docker run -p 6379:6379 -d --name redis-server docker.io/redis:3.0.7 redis-server --port 6379
docker run -p 6380:6380 -d --name redis-server docker.io/redis:3.0.7 redis-server --port 6380
創建好后可以查看容器的6380端口對應本地機器的IP和端口號,確認成功
docker port redis-server2 6380
二、為兩個redis服務端分別建立各自的客戶端redis-client、redis-client2
命令如下
docker run -it --name redis-client1 docker.io/redis:3.0.7 redis-cli -h 172.17.0.1 -p 6379
docker run -it --name redis-client2 docker.io/redis:3.0.7 redis-cli -h 172.17.0.1 -p 6380
此時在docker上能看到四個不同的容器了
docker ps
通過客戶端發送命令確認服務端的不同端口
info
或者
config get port
三、在redis-client2發送命令,使6380服務器成為6379的slave,通過role命令查看當前的角色
slaveof 172.17.0.1 6379
四、可以在redis-client1上隨意set內容,redis-client2上使用get查看
注意,當6380為readonly的slave時,只能被動接受6379的內容,無法使用set
五、使用命令退出主從關系
slaveof no one
外部關閉redis服務器
redis-cli -h 127.0.0.1 -p 6379 shutdown
通過客戶端關閉:
shutdown
斷開客戶端連接(會先保存數據)
quit