最近、DigitalOcean 上の Ubuntu 20 で気づいた点として、ホストマシンが Docker にドメインネームサーバーを公開していないという問題があります。これはファイアウォールの問題ではありません。Ubuntu 20 ではデフォルトでファイアウォールが有効になっていないためです。
修正するには、まず cat /run/systemd/resolve/resolv.conf で DigitalOcean のネームサーバーを確認してください。以下のような表示が得られます。
nameserver 1.2.3.4
nameserver 9.8.7.6
次に、nano /etc/docker/daemon.json で daemon.json ファイルを編集し、上記のネームサーバーと、オプションとして Google DNS (8.8.8.8) を Docker で利用できるように設定します。
{
"dns": ["<上記の ip1>", "<上記の ip2>", "8.8.8.8"]
}
その後、Docker を再起動してビルドし直してください。
systemctl restart docker
/var/discourse/launcher rebuild app