寫在前面:
? ? ?這幾天剛剛上手docker,如有說的不對之處,請多多指教?。?br>? ? ?docker 是window10 直裝 只要打開hyper-v 。支持虛擬化技術,bios中打開就是了。
? ? ?這個安裝和docker基礎就不在這里說了
1.# docker pull redis:3.0.7(我采用3.0.7的redis版本,用其他也行)


2.構建redis-cluster
創(chuàng)建Dockerfile文件
FROM redis:3.0.7
EXPOSE 6379
ADD redis.conf /redis.conf
ENTRYPOINT[ "redis-server", "/redis.conf" ]
在同目錄下放redis.conf(3.0.7版本)的配置文件
3.修改dockerfile目錄下的redis.conf文件

4.構建dokcer images
進入dockerfile目錄
# docker build-t“redis-cluster” .
沒寫tag默認latest

5.為了使容器ip固定 重啟后也是一樣的
# docker network create --subnet=172.11.0.0/16redis//創(chuàng)建網(wǎng)絡

6.創(chuàng)建redis-cluster結點容器
# dockerrun -d --net redis --ip 172.11.0.91 -p 8001:6379 --name redis1redis-cluster
# dockerrun -d --net redis --ip 172.11.0.92 -p 8002:6379 --name redis2redis-cluster
# dockerrun -d --net redis --ip 172.11.0.93 -p 8003:6379 --name redis3redis-cluster
# dockerrun -d --net redis --ip 172.11.0.94 -p 8004:6379 --name redis4redis-cluster
# dockerrun -d --net redis --ip 172.11.0.95 -p 8005:6379 --name redis5redis-cluster
# dockerrun -d --net redis --ip 172.11.0.96 -p 8006:6379 --name redis6redis-cluster

7.接下來使用官方的redis-trib.rb(linux直接安裝ruby啟動就好了,直接跳到第十步)
所以要下載ruby
這里直接# docker pull ruby

然后通過構建Dockerfile制作redis集群管理
FROM ruby
ADD redis-3.0.7.gem /redis-3.0.7.gem
ADD redis-trib.rb /redis-trib.rb

這兩個文件放在目錄下
Redis-3.0.7.gem基于國情要導入,可以直接去網(wǎng)上下載
如果不下載就不用導入
直接gem install redis –version 3.0.7
就可以直接安裝
去掉dockerfile上面那一行
然后進入該目錄
# docker build “ruby-redis” .
結果如上圖所示
8.啟動ruby-redis
# docker run --net=redis --ip 172.11.0.100--name ruby11 -i -d ruby-redis
要在同一個網(wǎng)絡redis才能互連

9.進入改ruby容器
# docker exec -it ruby11 /bin/bash
安裝redis-gem
# gem install -l redis-3.0.7.gem或者
# gem install redis –version 3.0.7

10.接下來 啟動集群

# ./redis-trib.rbcreate--replicas 1172.11.0.91:6379172.11.0.92:6379 172.11.0.93:6379 172.11.0.94:6379 172.11.0.95:6379 172.11.0.96:6379

1表示master后面有一個slave cluster
然后輸入yes就可以了

11.隨便登錄一個節(jié)點測試連接集群測試

一定要加-c
# cluster node

# cluster info

設置k-v測試

切換結點測試

主機測試:

Docker ip 10.0.75.1
端口就是容器對外開放的端口

另一個是容器間端口使用
測試結果:

恭喜你成功了??!