./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 **

我尝试了至少 3 种从本论坛和 GitHub 上找到的解决方案,包括一些关于 Docker 中“缺乏互联网”和"DNS 问题”的 Stack Overflow 回答。

我还尝试了至少 2 个不同的教程来设置 Discourse 论坛软件,包括官方教程和其他一些教程。

尝试过设置带有 DNS 配置的 daemon.json 文件,将 docker0 接口设置为混杂模式等操作。

但即便如此,问题依旧存在。

我使用的是由 OVH 托管的 Ubuntu 20.04 服务器。

在宿主机上我可以 ping 通 github.com 并收到响应,但在 Docker 环境中却无法做到。

有人能帮忙吗?

编辑:在容器环境的 /etc/hosts 文件中手动添加了 github IP 地址后,现在的错误信息从“无法解析 github.com”变成了“连接超时”。

这至少是最近几天内的第二份报告。

我们将查看该过程。

5 个赞

你是怎么安装 Docker 的?

我想我第一次运行 /discourse-setup 时,它自动为我安装了 Docker。

另外,我在容器环境的 /etc/hosts 文件中手动添加了一条 GitHub IP 地址的条目后,现在的错误提示从“无法解析 github.com”变成了“连接超时”。

看来这可能是一个通用的互联网连接问题,而不仅仅是 DNS 的问题。我甚至尝试使用 --network host 选项运行,但它仍然无法工作,尽管在我的宿主机上是可以正常工作的。

如果我运行一个简单的测试 Docker 容器,我可以从容器中访问互联网。看起来只是 Discourse 容器无法向外连接。

1 个赞

顺便提一下,在 DigitalOcean 的 Droplet(正如 README 所推荐)上似乎运行正常。然而,在我现有的 Ubuntu 20.04 服务器上,这个问题仍然存在。

1 个赞

我在基于 Ubuntu 20.04 的默认 DigitalOcean Droplet 上也遇到了同样的问题。你找到解决方案了吗?

现在似乎可以正常工作了,详见 After upgrade, docker cannot communicate with the outside world - #24 by niels-anders