Redis哨兵泊坞窗图像/ Dockerfile

我正在考虑在coreOS集群上部署高可用性Redis,并且需要Redis Sentinel Docker镜像(即Dockerfile)。 我已经收集了足够的信息/专业知识来创build一个(我认为)…但是我对先进networking的有限的知识/经验是阻止我build立和分享它的唯一原因。

这里的专家能帮助我开发一个Redis Sentinel Dockerfile(现在不存在)吗? Redis / Docker社区会从中受益。

以下是更广泛的问题和上下文: https : //github.com/antirez/redis/pull/1908

我认为解决scheme就在这里: https : //github.com/antirez/redis/pull/1908#issuecomment-54380876

这里是我一直在使用的Dockerfile …但是如果你阅读上面的线程,你会看到我的评论(joshula)…它缺乏mattsta谈论的networking修复。 请注意,因为我在coreOS上使用它,所以sentinel.conf中的任何configuration设置都将在运行时通过命令行进行设置(因此ENTRYPOINT)。

# Pull base image. FROM dockerfile/ubuntu:latest # Install Redis. RUN \ cd /tmp && \ wget http://download.redis.io/redis-stable.tar.gz && \ tar xvzf redis-stable.tar.gz && \ cd redis-stable && \ make && \ make install && \ cp -f src/redis-sentinel /usr/local/bin && \ mkdir -p /etc/redis && \ cp -f *.conf /etc/redis && \ rm -rf /tmp/redis-stable* && \ sed -i 's/^\(bind .*\)$/# \1/' /etc/redis/redis.conf && \ sed -i 's/^\(daemonize .*\)$/# \1/' /etc/redis/redis.conf && \ sed -i 's/^\(dir .*\)$/# \1\ndir \/data/' /etc/redis/redis.conf && \ sed -i 's/^\(logfile .*\)$/# \1/' /etc/redis/redis.conf # Define mountable directories. VOLUME ["/data"] # Define working directory. WORKDIR /data # Expose ports. EXPOSE 26379 # Define default command. ENTRYPOINT redis-sentinel /etc/redis/sentinel.conf 

经过一番工作,我终于搞清楚了。 以下是让想要通过Docker部署高可用性redis实例的其他人简单:

https://registry.hub.docker.com/u/joshula/redis-sentinel/