Я ищу, чтобы развернуть высокую доступность Redis на кластере CoreOS, и мне нужно изображение докеры Redis Sentinel (т. Е. Dockerfile), который работает. Я собрал достаточно информации/опыта для создания одного (я думаю) ... но мои ограниченные знания/опыт работы с передовыми сетями - единственное, что мешает мне создавать и делиться ими.Redis sentinel docker image/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).
# 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
Эй, Joshula - Я включен файл Docker в [сценарий] (https: // GitHub .com/mdevilliers/docker-rediscluster), который устанавливает кластер ведущий/подчиненный с дозорной конфигурацией. Отлично, если бы вы могли взглянуть на него и получить обратную связь? – markdevilliers
Привет, Марк, который выглядит довольно неплохо, несколько заметок, которые нужно иметь в виду, когда вы двигаетесь вперед: в версии +2.8.15 добавлена версия объявления-ip-конфигурации (так что просто знайте о версиях). Убедитесь, что в рабочей среде (где все часовые находятся на разных физических машинах), что «announce-ip» ссылается на IP-адрес физического хост-компьютера. Кроме того, я (и некоторые другие люди подтвердили) проблемы с производительностью при запуске Redis в контейнере - особенно вокруг дополнительных сетевых слоев/мостов, которые Docker представляет ... – joshula
Итак, я решил установить/запустить Redis (в производстве) на физической машине (как заявили Antirez и Mattsta в вышеупомянутых сообщениях, Redis и Sentinel еще не были полностью разработаны/оптимизированы для работы в среде, подобной Docker. – joshula