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