我设置了Debian 10服务器来托管在Docker版本19.03.2。上运行的容器。
它目前托管3个DNS容器(pi-hole => bind9 => dnscrypt-proxy),这意味着我的Debian 10服务器充当了我的LAN的DNS服务器。
我想添加一个新的容器。但是,我无法构建它,因为它在运行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)。
您是否有解决此问题的线索?
如果需要,我可以提供DNS容器的docker-compose文件和新容器的Dockerfile。
先谢谢您
答案 0 :(得分:0)
我找到了此修复程序:
运行chmod o + r /etc/resolv.conf && apt-get [....]
当我更改权限时可以使用。
我不太明白为什么会这样,如果您有任何领先优势,我很乐意了解更多!