Вопрос о резервном копировании и восстановлении Docker

Привет! У меня запущен Discourse CE в Docker. У меня есть права root, и я делаю резервную копию контейнера с помощью команд docker id stop и docker image save -o <id> file.tar. После этого я успешно обновил Discourse. Теперь я протестировал восстановление с помощью команд docker image load -i file.tar и docker start id, но версия осталась обновлённой, а не старой, как я ожидал.

Что я сделал не так?

Спасибо.

Это странно.

Я ожидал, что это не сработает, поскольку база данных (которая находится в постоянном хранилище) была мигрирована дальше, чем поддерживает старый образ.

Как вы выполняли обновление? Через командную строку с пересборкой или через интерфейс Discourse?

Привет,
да, я тоже этого не понял. Я попробовал снова, результат тот же. Я дал шанс веб-интерфейсу, и он работает хорошо. Никаких ошибок и проблем.

Вы уничтожили образ Docker Discourse или восстановили резервную копию на другой?

Нет, я не испортил изображение. Это была моя ошибка?

Я не знаю. Не думаю, что я ранее использовал функцию сохранения изображений.

Однако, думаю, что следующим шагом я попробую восстановить эту резервную копию под новым именем контейнера.

Извините, не хватает ответа на ваш вопрос. Это был тот же самый, просто резервное копирование и восстановление.

Постоянные данные хранятся не в контейнере, а на файловой системе, как отмечает @pfaffman.

Стоит задать вопрос: какую задачу вы пытаетесь решить?

Идея была проста: делать резервную копию всего контейнера Docker ночью. Также, как в данном случае, перед обновлением с beta4 до beta5 и в случае ошибки — откатиться к старому контейнеру.
Спасибо.

Вам также потребуется откатить базу данных.

Возможно, стоит создать тестовый сайт (staging), чтобы протестировать обновление перед его запуском. Также можно загрузить контейнер с тестового сайта в репозиторий, а затем запустить его на продакшн-среде.