Обновление и пересборка контейнеров не удаются

Я пытался обновить экземпляр Discourse, но процесс завершился неудачей на каком-то этапе.

Лог
$ bundle install --deployment --jobs 4 --without test development
[DEPRECATED] Флаг `--deployment` устарел, так как он зависит от сохранения состояния между вызовами bundler, чего bundler в будущих версиях делать больше не будет. Вместо этого используйте `bundle config set --local deployment 'true'` и прекратите использование этого флага.
[DEPRECATED] Флаг `--without` устарел, так как он зависит от сохранения состояния между вызовами bundler, чего bundler в будущих версиях делать больше не будет. Вместо этого используйте `bundle config set --local without 'test development'` и прекратите использование этого флага.
Warning: текущая версия Bundler (2.2.4) старше версии, создавшей файл блокировки (2.2.6). Мы рекомендуем вам обновиться до версии, создавшей файл блокировки, запустив `gem install bundler:2.2.6`.
Получение индекса источников из https://rubygems.org/

Повторная попытка получения данных из-за ошибки (2/4): Bundler::HTTPError Не удалось получить спецификации с https://rubygems.org/ из-за внутренней ошибки <тайм-аут (https://rubygems.org/specs.4.8.gz)>

Повторная попытка получения данных из-за ошибки (3/4): Bundler::HTTPError Не удалось получить спецификации с https://rubygems.org/ из-за внутренней ошибки <тайм-аут (https://rubygems.org/specs.4.8.gz)>

Повторная попытка получения данных из-за ошибки (4/4): Bundler::HTTPError Не удалось получить спецификации с https://rubygems.org/ из-за внутренней ошибки <тайм-аут (https://rubygems.org/specs.4.8.gz)>

Не удалось получить спецификации с https://rubygems.org/ из-за внутренней ошибки <тайм-аут (https://rubygems.org/specs.4.8.gz)>
Docker Manager: НЕ УДАЛОСЬ ОБНОВИТЬСЯ
<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:196:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:93:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:59:in `load'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:59:in `load'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.3/lib/rails/commands/runner/runner_command.rb:42:in `perform'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.3/lib/rails/command/base.rb:69:in `perform'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.3/lib/rails/command.rb:46:in `invoke'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.3/lib/rails/commands.rb:18:in `<main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:324:in `block in require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:291:in `load_dependency'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:324:in `require'
bin/rails:17:in `<main>'
Запуск 7 остановленных изначально рабочих процессов Unicorn

Когда я пытаюсь вручную пересобрать контейнер с помощью команды ./launcher rebuild app, это также завершается неудачей при попытке обновить gems:

Лог
I, [2021-02-26T12:23:11.223827 #1]  INFO -- : > cd /var/www/discourse && gem update bundler
ERROR:  While executing gem ... (Gem::RemoteFetcher::UnknownHostError)
    timed out (https://rubygems.org/specs.4.8.gz)
I, [2021-02-26T12:24:11.735359 #1]  INFO -- :
I, [2021-02-26T12:24:11.736230 #1]  INFO -- : Завершение асинхронных процессов
I, [2021-02-26T12:24:11.736294 #1]  INFO -- : Отправка сигнала INT для HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 51
I, [2021-02-26T12:24:11.736371 #1]  INFO -- : Отправка сигнала TERM для exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 168
2021-02-26 12:24:11.736 UTC [51] LOG:  получен запрос на быстрое завершение работы
168:signal-handler (1614342251) Получен сигнал SIGTERM, планирование завершения работы...
2021-02-26 12:24:11.741 UTC [51] LOG:  отмена всех активных транзакций
2021-02-26 12:24:11.744 UTC [51] LOG:  фоновый рабочий процесс "logical replication launcher" (PID 60) завершился с кодом выхода 1
2021-02-26 12:24:11.747 UTC [55] LOG:  завершение работы
2021-02-26 12:24:11.789 UTC [51] LOG:  система баз данных завершена
168:M 26 Feb 2021 12:24:11.810 # Пользователь запросил завершение работы...
168:M 26 Feb 2021 12:24:11.810 * Сохранение финального снимка RDB перед выходом.
168:M 26 Feb 2021 12:24:11.865 * БД сохранена на диск
168:M 26 Feb 2021 12:24:11.865 # Redis теперь готов к выходу, до свидания...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && gem update bundler завершился с кодом возврата #<Process::Status: pid 305 exit 1>
Место ошибки: /pups/lib/pups/exec_command.rb:112:in `spawn'
Выполнение не удалось с параметрами {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem update bundler", "find $home ! -user discourse -exec chown discourse {} \\+"]}
7e5c5abe3bf7402b1f3464d4675df48d306251160de17810bc0ebba248e8b6fe
** НЕ УДАЛОСЬ ЗАПУСТИТЬСЯ ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть больше одной.
./discourse-doctor может помочь диагностировать проблему.

Ошибка указывает на то, что не удается разрешить имя хоста, но когда я вручную захожу в контейнер (debian:buster-slim), всё работает нормально (я могу выполнить curl rubygems.org).
Не делает ли образ Discourse что-то странное с DNS, что может вызывать эту проблему?

1 лайк