У меня возникла проблема: я не могу пересобрать Discourse командой “./launcher rebuild app”, и при запуске команды “docker ps” контейнер Discourse не отображается. Однако я всё ещё могу получить доступ к Discourse через веб-интерфейс без каких-либо проблем. Как это возможно?
Вот ошибки, которые я получаю при запуске команды “./launcher rebuild app”:
docker: Error response from daemon: error while creating mount source path '/var/discourse/shared/standalone': mkdir /var/discourse: read-only file system.
bootstrap failed with exit code 125
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
f15514ef40f8a25134126ee1c0c7771c60081ce8a8f2f6384be73cbbca7a3d12
Результат команды docker ps:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Я хочу пересобрать Discourse, чтобы использовать его с HTTPS на этот раз, а также с Let’s Encrypt.
Спасибо за помощь.
Вам нужно искать ошибки глубоко в логах или консоли. Возможно, вы внесли незавершённое изменение для HTTPS. Попробуйте откатить его, чтобы всё снова заработало.
В обычном режиме работы launcher.sh контейнеры Docker останавливаются перед их пересборкой, поэтому, если сборка не удаётся, они могут отсутствовать (не уверен, пытается ли laufering запустить старые контейнеры в качестве шага восстановления?). (Кажется, есть режим с уменьшенным временем простоя — в нём контейнеры останавливаются только после пересборки; неясно, почему этот режим не является режимом по умолчанию, ведь он помог бы избежать подобных нарушений целостности.)
Это не объясняет, почему вы всё ещё видите Discourse, однако Discourse какое-то время работает в офлайн-режиме довольно незаметно
Я выполнил команду docker ps от имени пользователя root на сервере, где запущено приложение Discourse.
Затем я запустил команду ./discourse-doctor и получил другую ошибку с кодом 125:
Discourse version at forum.dauphine.media: NOT FOUND
Discourse version at localhost: NOT FOUND
Unable to find image 'local_discourse/app:latest' locally
docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
Discourse version at forum.dauphine.media: NOT FOUND
Discourse version at localhost: NOT FOUND
Я использовал команду docker pull local_discourse/app:latest, но получаю то же сообщение: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Я решил проблему с помощью новой установки сервера Discourse.
Ранее на старом сервере я сохранил данные через настройки администратора, а затем восстановил их на новом сервере.
Теперь контейнер Discourse на новом сервере виден:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e42d24042375 local_discourse/app "/sbin/boot" 25 minutes ago Up 25 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp app