Docker+Redis單機主從同步集羣
不廢話直接開始.
1.安裝Docker
先卸載舊docker
apt-get remove docker docker-engine docker.io containerd runc
然後通過https://dwz.cn/mnsSNcIg提供的方法安裝docker
2.下載Redis鏡像
使用國內鏡像拉取Redis最新版本
docker pull daocloud.io/library/redis:latest
查看鏡像
docker images
3.創建redis容器
docker run -itd --name {redis01} -p {6380}:6379 {redis}
redis01爲這個容器的名字,6380爲這個容器映射的服務器地址,redis爲要使用的鏡像的名字,可以通過上一個命令查看
運行三次,創建三個容器,一個主(master),兩個從(slave)
docker run -itd --name redis-master -p 6380:6379 daocloud.io/library/redis
docker run -itd --name redis-slave01 -p 6381:6379 daocloud.io/library/redis
docker run -itd --name redis-slave02 -p 6382:6379 daocloud.io/library/redis
運行效果圖
查看所有容器
docker ps
容器已經創建好了.端口分別是6380,6381,6382
4.Redis從主分離配置
查看master內網ip,記錄下來
docker inspect {容器id}
如:docker inspect redis-master
進入master容器中
docker exec -it redis-master /bin/bash
連接redis服務
redis-cli
查看當前redis的 主/從複製信息
info replication
兩次exit
退出容器
進入slave01中
docker exec -it redis-slave01 /bin/bash
redis-cli
修改此redis的主機
SLAVEOF {host} 6379
host爲master的內網ip
如 SLAVEOF 172.18.0.2 6379
也可以直接 slaveof redis-master 6379
使用容器名
slave02一樣
進入master容器
輸入
info replication
會發現
代表初步成功
在主中通過set命令創建幾條數據
進入任意一個從中,會發現
沒有輸入過這些數據,卻存在,
這就是主從同步了,
確認成功.