У меня та же проблема… У меня Droplet на Ubuntu 20.04. Сначала я пытался обновить Docker прямо из Discourse, но постоянно получал ошибку с кодом 137. Тогда я попытался пересобрать Discourse из командной строки, но процесс завис на сообщении «The database is ready to accept connections». Нажатие Ctrl+C ничего не дало, поэтому я закрыл SSH-сессию, открыл новую, снова запустил Discourse — он работал, но не был обновлён. После перезагрузки Droplet я снова попытался обновить Docker через Discourse, и на этот раз всё прошло успешно. Затем я снова попытался пересобрать Discourse, но он снова завис в том же месте. Снова закрыл SSH, открыл новую сессию и запустил Discourse, но теперь вижу экран «Oops»! Теперь мой сайт Discourse недоступен, а единственный способ, которым мне ранее удавалось восстановиться после экрана «Oops», — это пересборка приложения, что сейчас невозможно.
Теперь я в тупике, так как мой опыт работы с Discourse и Droplet очень ограничен, и я не знаю, что делать дальше. В моём файле app.yml используется только плагин docker_manager, поэтому я могу предположить, что ошибка связана с тем, что версия Docker новее и несовместима с моей версией Discourse? Не знаю. Я обновлял Discourse в последний раз в январе, так что он не так уж устарел…
Мой сайт недоступен, пока эту проблему не решат… Единственный вариант — создать новый Droplet, заново настроить всё и восстановить резервную копию Discourse, которую я сделал? Это мой единственный выход сейчас?
Ошибка 137 означает нехватку оперативной памяти. Попробуйте добавить больше файла подкачки (swap). Если у вас всего 1 ГБ ОЗУ, я бы увеличил её до 2 ГБ и, возможно, добавил 3–4 ГБ файла подкачки.
Вы можете попробовать запустить:
./launcher start app
Но, скорее всего, база данных уже слишком сильно обновилась для старого контейнера.
Привет, у меня та же ошибка. Пока можно обойти это, принудительно указав параметр версии v3.3.0 в app.yml. Архитектура AMD64, Ubuntu 18.04. Странно, что сбой произошел в минорной версии, а обновление до v3.3.0 на прошлой неделе прошло без проблем
Если у кого-то возникла эта проблема и вы готовы предоставить мне доступ к вашему серверу, пожалуйста, напишите мне в личные сообщения, чтобы я мог отладить проблему на сервере, где она проявляется. Я пробовал множество способов, но не смог воспроизвести эту проблему, что затрудняет внесение исправления.
Для тех, кто столкнулся с этой проблемой, когда Discourse не работает, я обнаружил, что можно запустить старую версию форума, перезапустив виртуальную машину и выполнив команду ./launcher start app. Эта команда не сработает после попытки пересборки без перезапуска вашего экземпляра или виртуальной машины.
В понедельник я смогу обновить версию Ubuntu на нашей затронутой виртуальной машине, поэтому буду держать всех в курсе результатов.
У меня есть другой форум на другом Droplet, и там не возникает никаких проблем с обновлением. Странно, почему при одинаковой конфигурации сервера на одном Droplet возникают проблемы, а на другом — нет?
Звучит как проблема с оперативной памятью. Сколько у вас RAM и swap-памяти? Я бы добавил 1–2 ГБ пространства swap (и, возможно, увеличил RAM, если у вас всего 1 ГБ).
Сколько RAM и swap-памяти на этих системах? Какой вывод команды:
free -h
Именно нехватка RAM объясняет, почему @tgxworld не смог воспроизвести проблему.
Кстати, если вы столкнулись с этой проблемой, вы можете временно обойти её, добавив base_image: discourse/base:2.0.20240708-0023 в начало файла containers/app.yml.
База данных на нашем продакшн-сервере довольно большая, а на дев-сервере — очень маленькая. Это единственное существенное различие между виртуальными машинами, которые успешно обновились, и той, которая пострадала (в моём случае).
Здравствуйте,
Я только что увеличил размер Droplet, удвоив объём оперативной памяти и увеличив размер диска. Проблема всё ещё сохраняется.
Есть ли что-то ещё, что можно попробовать?
О боже! Почему я не прочитал это решение раньше. Это тоже помогло мне.
Так какое решение будет актуально в будущем? Нужно ли и дальше указывать этот базовый образ или его следует менять для получения обновлённого образа?