Текущая пересборка веб-приложения завершается с ошибкой:
root@docker2:/var/discourse# ./launcher stop web_only && ./launcher rebuild data && ./launcher rebuild web_only
x86_64 arch detected.
+ /usr/bin/docker stop -t 600 web_only
web_only
x86_64 arch detected.
Ensuring launcher is up to date
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 data
data
./launcher: Строка 334: Предупреждение: Игнорирование NULL-байта в команде замены ввода.
2.0.20240825-0027: Pulling from discourse/base
Digest: sha256:6de68cb49198b5281f79ed9401b3fe818c854d220dcf0238549fe2f2adb19146
Status: Image is up to date for discourse/base:2.0.20240825-0027
docker.io/discourse/base:2.0.20240825-0027
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2024-10-04T15:54:02.326983 #1] INFO -- : Reading from stdin
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:54:in `split': invalid byte sequence in UTF-8 (ArgumentError)
split = conf.split("_FILE_SEPERATOR_")
^^^^^^^^^^^^^^^^^^
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:54:in `run'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/bin/pups:9:in `<top (required)>'
from /usr/local/bin/pups:25:in `load'
from /usr/local/bin/pups:25:in `<main>'
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
Есть какие-то идеи, как это исправить? Мой форум в данный момент недоступен после этого повторного развертывания
В данном случае контейнеры web_only и data разделены, и запуск контейнера web_only завершается ошибкой:
oot@docker2:/var/discourse# ./launcher start web_only
x86_64 arch detected.
starting up existing container
+ /usr/bin/docker start web_only
Error response from daemon: Cannot link to a non running container: /data AS /web_only/data
Error: failed to start containers: web_only
Возможно, в этом случае мне нужно запускать его вручную через Docker, так как база данных находится на другой машине. Обратите внимание на этот фрагмент кода в файле конфигурации web_only:
## connect to central postgres database
DISCOURSE_DB_SOCKET: ''
DISCOURSE_DB_USERNAME: discourse
DISCOURSE_DB_PASSWORD: xxxxxxxxxx
DISCOURSE_DB_HOST: 10.10.xx.xx
DISCOURSE_REDIS_HOST: data
Если только вы не запускали очистку, которая удалила контейнер, в этом случае, скорее всего, возникнут проблемы.
Тогда меня удивляет ошибка «cannot link». Я видел её только тогда, когда система пыталась использовать docker link для связи с другим контейнером на той же машине.
А, точно! Да, проблема в том, что не удаётся подключиться к Redis. У вас есть контейнер data, в котором работает Redis, верно? Команда destroy start должна сработать с учётом оговорки.
@pfaffman спасибо, это помогло. Я забыл, что контейнер с данными также обеспечивает функциональность кэширования Redis, но в любом случае контейнеры снова запущены.
Что можно сделать с ошибкой загрузки из скрипта запуска, строка 334? Я никогда раньше не видел этой ошибки. Готов ли launcher_go/v2 к использованию в качестве замены?