拉取redis鏡像redis
docker pull docker.io/redis:3.2docker
而後給一個Dockerfile文件吧ruby
ruby的服務器
FROM ruby:2.2.5tcp
RUN gem install redisui
ADD ./redis-3.2.6.tar.gz /usr/localrest
RUN cd /usr/local && ln -s redis-3.2.6 redisserver
以三臺服務器爲例,Docker容器建立運行docker run -d --name redis1 --net=host -v /etc/localtime:/etc/localtime:ro docker.io/redis:3.2 redis-server --port 7111 --cluster-enabled yes,--net=host是使用母機的ip。ip
docker run -it --net=host --rm build_repo/ruby /usr/local/redis/src/redis-trib.rb create --replicas 1 172.31.27.67:7111 172.31.27.67:7112 172.31.27.68:7113 172.31.27.68:7114 172.31.27.69:7115 172.31.27.69:7116cmd
注意,此處若是加了CentOS 7的防火牆,以7111端口爲例,必定要把redis總線端口17111添加進去
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.31.27.69" port protocol="tcp" port="17111" accept"
service firewalld restart
運行ruby必定要加--net=host,不然會被防火牆擋住,沒法鏈接節點。