新主机上构建失败

我已将整个 /var/discourse 复制到一个新主机。更新了 CNAME 和 SSL,一切正常。当我尝试重建时,出现了一个我无法解决的问题。

 sudo ./launcher rebuild app
I, [2022-03-11T16:50:42.832830 #1]  INFO -- :
I, [2022-03-11T16:50:42.833980 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2022-03-11T16:50:42.834524 #1]  INFO -- : Replacing (?m-ix:upstream[^\\}]+\\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2022-03-11T16:50:42.834854 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2022-03-11T16:50:42.835184 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2022-03-11T16:50:42.835501 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections ; in /etc/nginx/nginx.conf
I, [2022-03-11T16:50:42.835804 #1]  INFO -- : > echo "done configuring web"
I, [2022-03-11T16:50:42.839749 #1]  INFO -- : done configuring web

I, [2022-03-11T16:50:42.840160 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
ERROR:  Could not find a valid gem 'bundler' (= 2.3.4), here is why:
          Unable to download data from https://rubygems.org/ - Net::OpenTimeout: execution expired (https://rubygems.org/specs.4.8.gz)
I, [2022-03-11T16:55:43.338723 #1]  INFO -- :
I, [2022-03-11T16:55:43.339140 #1]  INFO -- : Terminating async processes
I, [2022-03-11T16:55:43.339338 #1]  INFO -- : Sending INT to 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: 42
I, [2022-03-11T16:55:43.339402 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
2022-03-11 16:55:43.339 UTC [42] LOG:  received fast shutdown request
103:signal-handler (1647017743) Received SIGTERM scheduling shutdown...
2022-03-11 16:55:43.340 UTC [42] LOG:  aborting any active transactions
2022-03-11 16:55:43.342 UTC [42] LOG:  background worker "logical replication launcher" (PID 51) exited with exit code 1
2022-03-11 16:55:43.346 UTC [46] LOG:  shutting down
2022-03-11 16:55:43.361 UTC [42] LOG:  database system is shut down
103:M 11 Mar 2022 16:55:43.363 # User requested shutdown...
103:M 11 Mar 2022 16:55:43.363 * Saving the final RDB snapshot before exiting.
103:M 11 Mar 2022 16:55:43.433 * DB saved on disk
103:M 11 Mar 2022 16:55:43.434 # Redis is now ready to exit, bye bye...

wget rubygems 工作正常,网络连接也正常。有什么建议吗?

1 个赞

如果主机上的互联网连接正常,您需要调试该主机上 Docker 容器内的互联网连接。

2 个赞

我找到了问题所在。我的 Docker 启用了 IPv6,这似乎让事情变得复杂了。

我不得不将其关闭,然后重新加载 Docker。

{
  "ipv6": false,
  "fixed-cidr-v6": "2001:db8:1::/64"
}

谢谢你的帮助!

2 个赞

更具体地说:您启用了 IPv6,并配置为分发无法返回到您的容器的地址。

并非所有应用程序都编写为在 IPv6 连接中断时回退到 v4。

2 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.