./discourse-setup: ホストを解決できません: github.com

./discourse-setup を実行すると、以下のエラーで失敗し続けます:

cd /pups && git pull && /pups/bin/pups --stdin
fatal: unable to access 'https://github.com/discourse/pups.git/': Could not resolve host: github.com
fe7a66f6321f948dd840124da1f0165db18807367b4419e1cc9906eb7f71a0a8
** FAILED TO BOOTSTRAP **

この問題に対して、フォーラムや GitHub 内で見つけた少なくとも 3 つの異なる解決策を試しました。これには、Docker 内の「インターネット接続の欠如」や「DNS の問題」に関する Docker 関連の Stack Overflow の回答も含まれます。

また、Discourse フォーラムソフトウェアのセットアップ方法について、公式チュートリアルを含む少なくとも 2 つの異なるチュートリアルに従って試行しました。

具体的には、DNS を設定した daemon.json ファイルを作成したり、docker0 インターフェースをプロミスキャスモードに設定したりしましたが、それでも同じ問題が発生します。

使用しているのは OVH がホストする Ubuntu 20.04 サーバーです。

ホスト上では github.com に ping を通して応答を得られますが、Docker 環境内ではそれができません。

お手伝いできる方はいらっしゃいますか?

追記:コンテナ環境の /etc/hosts ファイルに github の IP アドレスを手動で追加して対応したところ、「unable to resolve github.com」ではなく「connection timed out」というエラーに変わりました。

これはここ数日での少なくとも2件目の報告です。

プロセスを確認いたします。

「いいね!」 5

Dockerはどのようにインストールしましたか?

私が初めて /discourse-setup を実行した際、Docker が自動的にインストールされたと思います。

その後、コンテナ環境の /etc/hosts ファイルに GitHub の IP アドレスを手動で追加するなどの修正を加えたところ、「unable to resolve github.com」というエラーから「connection timed out」に変わりました。

つまり、これは単なる DNS の問題ではなく、全般的なインターネット接続の問題のようです。--network host オプションを使って実行してみましたが、ホスト側では動作しているにもかかわらず、まだ動作しませんでした。

単純なテスト用の Docker コンテナを実行すると、そこからインターネットにアクセスできます。どうやら Discourse コンテナだけが外部へ接続できていないようです。

「いいね!」 1

参考までに、README で推奨されている DigitalOcean の Droplet では正常に動作しているようです。ただし、既存の Ubuntu 20.04 サーバーではこの問題が引き続き発生しています。

「いいね!」 1

Ubuntu 20.04 ベースのデフォルトの DigitalOcean ドロップレットでも同じ問題が発生しています。解決策は見つかりましたか?

現在は動作しているようです。詳細は After upgrade, docker cannot communicate with the outside world - #24 by niels-anders をご覧ください。