Рубрики
Uncategorized

(Учимся практиковаться) В-пятых, докер строит практику redis master-slave

Автор оригинала: David Wong.

После предыдущей перестройки контейнера MySQL необходимо повторно запустить ассоциацию привязки “Мастер изменений к команде”, и 8.0 должна вступить в силу из командной строки. Redis сначала подумал об использовании официального, но не ожидал, что войдут в базовые команды оболочки, которые нельзя использовать, поэтому отказался. На этот раз, поскольку официальный представитель не предоставляет файл базовой конфигурации, разархивируйте redis -5.0.5.tar.gz, чтобы скопировать основную конфигурацию redis.conf, sentinel.conf в текущий каталог, например:/root/tmp/dk/redis.

Изменение поиска

# Master server redis.conf:
- # requirepass foobared
+ requirepass 123456
- dir. /  persistent data directory
+ dir /data
- Appndonly no # Open AOF
+ appendonly yes
- Bid 127.0.0.1# Allows IP access to the extranet
+ bind 0.0.0.0

// Slave Server: Master + Additional redis.conf:
// remote_host: your own intranet and extranet addresses
- # replicaof    
+ replicaof remote_host 6379
- # masterauth 
+ masterauth 123456
# Create Container Running
[]:~/tmp/dk/redis# docker run --name rm \
    -p 6379:6379 --restart=always -v \
    /root/tmp/dk/redis/data:/data -v \
    /root/tmp/dk/redis/redis.conf:/etc/redis/redis.conf \
    -d cffycls/redis5:1.6 redis-server /etc/redis/redis.conf
[]:~/tmp/dk/redis# docker run --name rs \
    -p 6381:6379 --restart=always -v \
    /root/tmp/dk/redis_slave/data:/data -v \
    /root/tmp/dk/redis_slave/redis.conf:/etc/redis/redis.conf \
    -d cffycls/redis5:1.6 redis-server /etc/redis/redis.conf

Зеркальное изображение скомпилировано redis 5.0.5. Это синхронизация ведущего и ведомого устройства после прямой загрузки, и его не нужно настраивать как MySQL (где начальные данные несовместимы: при изменении текущей окончательной конфигурации синхронизация остается неизменной при перезапуске). Прямая синхронизация прошла успешно, и репликация информации о связи была проверена в главном и подчиненном.

A. Байду копия

“”Описание архитектуры master-slave изменено на master-replica, SLAVEOF предоставляет псевдоним REPLICAIF, поэтому SLAVEOF все еще можно использовать.”

B. Следует ли охранять процесс

После многих тестов было обнаружено, что redis будет нормально запускаться при перезапуске контейнера. Демонизировать no следует оставить на нет, в противном случае будет сообщено об ошибке: Ответ на ошибку от демона: Контейнер xx перезапускается, подождите, пока контейнер не запустится Известно, что процесс демона в контейнере находится в конфликте с самим докером. Сохраняйте демонизацию по умолчанию без нормальной. Сначала не изменяйте параметры. Рассмотрите разницу между процессом демонизации и установкой хоста.

Нужно ли изменять адрес c.bind?

Пароль был установлен, поэтому защищенный режим остается по умолчанию.

  • Режим защиты да
  • Режим защиты нет открытого режима защиты в защищенном режиме, необходимо настроить IP-адрес привязки или установить пароль доступа

Вот множество тестов перезагрузки конфигурации, ведущий-ведомый: можно получить доступ к 127.0.0.1-127.0.0.0.1, но не установлено ни одного отношения ведущий-ведомый; 0.0.0-127.0.0.1 нормально, в любом случае, рекомендация 0.0.0-0.0.0.0.0.0.

Как и в mysql, вам необходимо перезапустить конфигурацию загрузки с помощью режима перезапуска docker RMS. Развертывание Sentinel аналогично, пропущено. Это основано на предыдущей редакции файла Dockerfile redis, который был перенесен в официальное общедоступное облако cffycls/redis 5:1.6.