2015-11-15 2 views
0

У меня есть контейнер докеров с сервером redis, запущенным на сервере ubuntu, который отслеживает счетчик, который увеличивается при помощи узла js app, также запущенного в контейнере.Данные контейнера Docker, потерянные при перезапуске хоста

Он хорошо работает, когда я запускаю свой узел ubuntu, все контейнеры redis + nodeapp автоматически запускаются.

Посещая URL-адрес, я могу увеличить счетчик с помощью приложения-узла. Я вижу, что счетчик на сервере redis увеличил бросок клиента redis и веб-страницы.

К у меня есть вопрос:

  1. Если я перезагрузить хост-машину тогда, когда контейнер рестарт (я использую restart:always строить свои контейнеры, чтобы запустить их на хост перезагрузку) счетчик на сервере redis на 0 (счетчик не был сохранен).

  2. Я заметил, что если я увеличиваем счетчик на определенное значение, скажем, 20, и если я остановить контейнер Redis от хоста и начинаю, что контейнер снова счетчик сохраненной до 20. И после перезагрузки хоста счетчик не начинается с 0, но это предыдущее значение 20, чтобы счетчик был сохранен.

Итак, мой вопрос заключается в том, как сохранить данные (счетчик в контейнере redis) при перезапуске хост-машины? Почему в моем случае единственный способ сохранить сохраненные данные - это остановить контейнер, используя команду docker stop?

+0

Похоже Redis не топить на диск. Такое поведение можно настроить, см. Следующую документацию по контейнеру: https://github.com/jamesbrink/docker-redis –

ответ

0

Вы видели http://redis.io/topics/persistence?

По умолчанию Redis сохраняет снимки набора данных на диске, в двоичном файл под названием dump.rdb. Вы можете настроить Redis, чтобы он сохранял набор данных каждые N секунд, если в наборе данных есть хотя бы M, или вы можете вручную вызывать команды SAVE или BGSAVE. Для Например, эта конфигурация позволит Redis автоматически сбросить набора данных на диск каждые 60 секунд, если по крайней мере, 1000 ключей изменилось:

save 60 1000 
+0

спасибо, что я никогда не использовал redis, прежде чем я сосредоточился на понимании докера, и я больше не читаю о redis ... плохо от меня, спасибо снова! – Aaleks

Смежные вопросы