升级/重建因 MaxMind DB 停止服务而失败

各位,

希望有人能在这里提供帮助。我的论坛运行在 EC2 上的 Docker 容器中,已经超过 12 个月没有遇到过升级问题。

我尝试了以下方法:

  • 运行 launcher cleanup,但磁盘空间没有问题
  • 执行最新的 git pull
  • 多次重新构建应用
  • 甚至尝试了 discourse-setup,并打算尝试恢复数据库::frowning:
  • 重启服务器
  • 运行 apt-get update; apt-get upgrade

以下是日志的末尾部分:

完成所有 JS 文件的压缩:88.88 秒
rake 中断!
SocketError: 无法打开到 geolite.maxmind.com:443 的 TCP 连接(getaddrinfo:主机名未关联任何地址)
/var/www/discourse/lib/final_destination.rb:411:in `safe_session'
/var/www/discourse/lib/final_destination.rb:362:in `safe_get'
/var/www/discourse/lib/final_destination.rb:131:in `get'
/var/www/discourse/lib/file_helper.rb:51:in `download'
/var/www/discourse/lib/discourse_ip_info.rb:30:in `mmdb_download'
/var/www/discourse/lib/tasks/assets.rake:220:in `block (3 levels) in <top (required)>'
/var/www/discourse/lib/tasks/assets.rake:219:in `each'
/var/www/discourse/lib/tasks/assets.rake:219:in `block (2 levels) in <top (required)>'

原因:

SocketError: getaddrinfo:主机名未关联任何地址

/var/www/discourse/lib/final_destination.rb:411:in `safe_session'
/var/www/discourse/lib/final_destination.rb:362:in `safe_get'
/var/www/discourse/lib/final_destination.rb:131:in `get'
/var/www/discourse/lib/file_helper.rb:51:in `download'
/var/www/discourse/lib/discourse_ip_info.rb:30:in `mmdb_download'
/var/www/discourse/lib/tasks/assets.rake:220:in `block (3 levels) in <top (required)>'
/var/www/discourse/lib/tasks/assets.rake:219:in `each'
/var/www/discourse/lib/tasks/assets.rake:219:in `block (2 levels) in <top (required)>'

任务:TOP => assets:precompile

(通过运行任务并添加 --trace 参数可查看完整跟踪信息)

I, [2019-12-30T18:56:27.608998 #1] INFO -- : 正在下载 MaxMindDB...
正在压缩 JavaScript 并生成源映射文件
I, [2019-12-30T18:56:27.633923 #1] INFO -- : 正在终止异步进程
I, [2019-12-30T18:56:27.637383 #1] INFO -- : 向 HOME=/var/lib/postgresql USER=postgres 执行 chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main 发送 INT 信号,pid: 49
I, [2019-12-30T18:56:27.639770 #1] INFO -- : 向 exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf 发送 TERM 信号,pid: 166
166:signal-handler (1577732187) 收到 SIGTERM,正在计划关闭...
2019-12-30 18:56:27.639 UTC [49] LOG: 收到快速关闭请求
2019-12-30 18:56:27.654 UTC [49] LOG: 中止任何活跃事务
166:M 30 Dec 2019 18:56:27.666 # 用户请求关闭...
166:M 30 Dec 2019 18:56:27.694 * 在退出前保存最终的 RDB 快照。
2019-12-30 18:56:27.702 UTC [49] LOG: 工作进程:逻辑复制启动器(PID 58)以退出代码 1 退出
2019-12-30 18:56:27.711 UTC [53] LOG: 正在关闭
2019-12-30 18:56:27.819 UTC [49] LOG: 数据库系统已关闭
166:M 30 Dec 2019 18:56:27.885 * 数据库已保存到磁盘
166:M 30 Dec 2019 18:56:27.886 # Redis 现在准备退出,再见...

失败
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake assets:precompile' 执行失败,返回状态为 #<Process::Status: pid 507 exit 1>
失败位置:/pups/lib/pups/exec_command.rb:112:in `spawn'
执行失败,参数如下:{"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake assets:precompile'"]}
fcf17d793c27c4e87616420ead222cc3f4a9fc163f239a5542b1c9a092579b30

** 启动失败 ** 请向上滚动查看更早的错误消息,可能不止一条。
./discourse-doctor 可能有助于诊断问题。

真的希望有人能对此提供一些线索。

谢谢大家。