拉取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,不然会被防火墙挡住,没法链接节点。