新しいホストでビルドが失敗する

/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が有効になっており、それが混乱を引き起こしていたようです。

IPv6を無効にしてDockerを再起動する必要がありました。

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

ご協力ありがとうございました!

「いいね!」 2

具体的には、IPv6 が有効になっており、コンテナに戻ってこないアドレスを配布するように設定されていました。
すべてのアプリが、v6 接続が壊れている場合に v4 にフォールバックするように書かれているわけではありません。

「いいね!」 2

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