У меня есть контейнер докеров с сервером redis, запущенным на сервере ubuntu, который отслеживает счетчик, который увеличивается при помощи узла js app, также запущенного в контейнере.Данные контейнера Docker, потерянные при перезапуске хоста
Он хорошо работает, когда я запускаю свой узел ubuntu, все контейнеры redis + nodeapp автоматически запускаются.
Посещая URL-адрес, я могу увеличить счетчик с помощью приложения-узла. Я вижу, что счетчик на сервере redis увеличил бросок клиента redis и веб-страницы.
К у меня есть вопрос:
Если я перезагрузить хост-машину тогда, когда контейнер рестарт (я использую
restart:always
строить свои контейнеры, чтобы запустить их на хост перезагрузку) счетчик на сервере redis на 0 (счетчик не был сохранен).Я заметил, что если я увеличиваем счетчик на определенное значение, скажем, 20, и если я остановить контейнер Redis от хоста и начинаю, что контейнер снова счетчик сохраненной до 20. И после перезагрузки хоста счетчик не начинается с 0, но это предыдущее значение 20, чтобы счетчик был сохранен.
Итак, мой вопрос заключается в том, как сохранить данные (счетчик в контейнере redis) при перезапуске хост-машины? Почему в моем случае единственный способ сохранить сохраненные данные - это остановить контейнер, используя команду docker stop?
Похоже Redis не топить на диск. Такое поведение можно настроить, см. Следующую документацию по контейнеру: https://github.com/jamesbrink/docker-redis –