Большую часть времени я запускаю обновление через консоль администратора. Сегодня оно запустилось и сообщило, что всё в порядке. Я зашёл проверить изменения, но появилось это сообщение:
Вы используете старую версию образа Discourse.
Обновления через веб-интерфейс отключены, пока вы не запустите последнюю версию образа.
Появилась новая версия Docker. Если вы попытаетесь обновить её через административный интерфейс, система сообщит, что обновление необходимо выполнить через командную строку.
Просто войдите на ваш сайт через командную строку и выполните команду ./launcher rebuild app — это решит вашу проблему.
Есть ли что-то ещё, что полезно запускать одновременно? (для тех, кто не часто использует консоль) Я выбрал следующие команды:
Apt-get update Apt-get upgrade Reboot
cd /var/discourse
./launcher rebuild app
./launcher cleanup
(Редактирование: Возможно, стоит подождать несколько дней перед выполнением, на случай если потребуется восстановить предыдущую версию)
Как вы и отметили, reboot завершает все процессы. Такой проверки раз в несколько недель вполне достаточно.
Однако я не рекомендую использовать ./launcher cleanup app сразу после пересборки, так как в случае возникновения проблем может потребоваться быстро вернуться к предыдущей версии с помощью ./launcher restart app. Через несколько дней уже можно безопасно выполнять очистку.
Я столкнулся с этой проблемой вчера при обновлении с beta7 до beta8; попросил своего разработчика выполнить команду ./launcher rebuild, и, похоже, это помогло. Интересно узнать решение/возможную причину.
В моём случае сначала нужно было выполнить «обновить диспетчер Docker», затем «обновить всё» — это обновилось 4 плагина и сам Discourse. После перезапуска система показала, что у Discourse и одного из плагинов всё ещё есть доступное обновление. Повторный клик по «обновить всё» просто открыл терминал, где всё оставалось чёрным более часа. Обновление страницы привело к отображению «старой версии образа Discourse».
Несколько раз в год необходимо обновлять базовый образ, так как требуется обновление одной из базовых библиотек.
Вы можете следить за обновлениями в репозитории discourse_docker на GitHub или просто продолжать делать то, что делали раньше, — просить вашего разработчика выполнить обновление, когда это потребуется.