Docker build命令无法解析域

时间:2019-09-29 01:17:00

标签: dns docker-compose apt

我设置了Debian 10服务器来托管在Docker版本19.03.2。上运行的容器。

它目前托管3个DNS容器(pi-hole => bind9 => dnscrypt-proxy),这意味着我的Debian 10服务器充当了我的LAN的DNS服务器。 docker ps -a

我想添加一个新的容器。但是,我无法构建它,因为它在运行RUN apt-get更新时失败。我检查了容器的/etc/resolv.conf的内容,内容似乎正确(名称服务器1.1.1.1和名称服务器9.9.9.9,与我在/etc/docker/daemon.json中编写的内容匹配)。 / p>

如果我是对的,则默认情况下,构建步骤将使用主机的DNS,除非您在/ etc / default / docker或/etc/docker/daemon.json中指定DNS服务器。

如果/etc/resolv.conf中的DNS服务器似乎正确,并且容器可以访问Internet(我尝试运行ping 8.8.8.8 -c1,并且可以运行),则构建应该成功吗?

我尝试了几件事,例如用其他DNS覆盖/etc/resolv.conf的内容,我还重新启动了服务器,重新启动了Docker,修剪了下载的图像,使用了--no-cache选项...我也重新安装了码头工人似乎没有任何作用。

我猜它一定与我的DNS容器有关。

下面是主机的/etc/resolv.conf的内容(第一个是它本身,因为它重定向到Pi-hole)。 cat /etc/resolv.com (host)

您是否有解决此问题的线索?

如果需要,我可以提供DNS容器的docker-compose文件和新容器的Dockerfile。

先谢谢您

1 个答案:

答案 0 :(得分:0)

我找到了此修复程序:

运行chmod o + r /etc/resolv.conf && apt-get [....]

当我更改权限时可以使用。

我不太明白为什么会这样,如果您有任何领先优势,我很乐意了解更多!