我希望在coreOS集群上部署高可用性Redis,并需要一个工作的Redis Sentinel Docker镜像(即Dockerfile)。我已经收集了足够的信息和专业知识来创建一个(我认为)......但是我的有限的高级网络知识/经验是唯一阻止我构建和共享它的东西。
有没有专家能帮助我开发Redis Sentinel Dockerfile(现在还没有)?Redis/Docker社区会从中受益匪浅。
这是更广泛的问题和背景: https://github.com/antirez/redis/pull/1908 我认为解决方案就在这里: https://github.com/antirez/redis/pull/1908#issuecomment-54380876 这是我一直在使用的Dockerfile......但如果您阅读上面的线程,您会看到我的评论(joshula)......它缺少mattsta所谈论的网络修复。请注意,因为我在coreOS上使用它,sentinel.conf中的任何配置设置都是通过命令行在运行时设置的(因此ENTRYPOINT)。
有没有专家能帮助我开发Redis Sentinel Dockerfile(现在还没有)?Redis/Docker社区会从中受益匪浅。
这是更广泛的问题和背景: https://github.com/antirez/redis/pull/1908 我认为解决方案就在这里: https://github.com/antirez/redis/pull/1908#issuecomment-54380876 这是我一直在使用的Dockerfile......但如果您阅读上面的线程,您会看到我的评论(joshula)......它缺少mattsta所谈论的网络修复。请注意,因为我在coreOS上使用它,sentinel.conf中的任何配置设置都是通过命令行在运行时设置的(因此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