寫在前面:
? ? ?這幾天剛剛上手docker瓮床,如有說(shuō)的不對(duì)之處盹舞,請(qǐng)多多指教2洹!
? ? ?docker 是window10 直裝 只要打開hyper-v 矾策。支持虛擬化技術(shù)磷账,bios中打開就是了。
? ? ?這個(gè)安裝和docker基礎(chǔ)就不在這里說(shuō)了
1.# docker pull redis:3.0.7(我采用3.0.7的redis版本贾虽,用其他也行)
2.構(gòu)建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.構(gòu)建dokcer images
進(jìn)入dockerfile目錄
# docker build-t“redis-cluster” .
沒寫tag默認(rèn)latest
5.為了使容器ip固定 重啟后也是一樣的
# docker network create --subnet=172.11.0.0/16redis//創(chuàng)建網(wǎng)絡(luò)
6.創(chuàng)建redis-cluster結(jié)點(diǎn)容器
# 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.接下來(lái)使用官方的redis-trib.rb(linux直接安裝ruby啟動(dòng)就好了逃糟,直接跳到第十步)
所以要下載ruby
這里直接# docker pull ruby
然后通過(guò)構(gòu)建Dockerfile制作redis集群管理
FROM ruby
ADD redis-3.0.7.gem /redis-3.0.7.gem
ADD redis-trib.rb /redis-trib.rb
這兩個(gè)文件放在目錄下
Redis-3.0.7.gem基于國(guó)情要導(dǎo)入,可以直接去網(wǎng)上下載
如果不下載就不用導(dǎo)入
直接gem install redis –version 3.0.7
就可以直接安裝
去掉dockerfile上面那一行
然后進(jìn)入該目錄
# docker build “ruby-redis” .
結(jié)果如上圖所示
8.啟動(dòng)ruby-redis
# docker run --net=redis --ip 172.11.0.100--name ruby11 -i -d ruby-redis
要在同一個(gè)網(wǎng)絡(luò)redis才能互連
9.進(jìn)入改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.接下來(lái) 啟動(dòng)集群
# ./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后面有一個(gè)slave cluster
然后輸入yes就可以了
11.隨便登錄一個(gè)節(jié)點(diǎn)測(cè)試連接集群測(cè)試
一定要加-c
# cluster node
# cluster info
設(shè)置k-v測(cè)試
切換結(jié)點(diǎn)測(cè)試
主機(jī)測(cè)試:
Docker ip 10.0.75.1
端口就是容器對(duì)外開放的端口
另一個(gè)是容器間端口使用
測(cè)試結(jié)果:
恭喜你成功了E罨怼绰咽!