我最近在 Ubuntu 20 的 DigitalOcean 上注意到一个问题:宿主机未将域名服务器提供给 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