如何在/etc/resolv.conf
(dockerfile)中添加新的名称服务器?
在我的dockerfile上,我使用:
FROM ubuntu:14.04
RUN echo "nameserver 10.111.122.1" >> /etc/resolv.conf
在我的测试中,我使用:
docker run --rm 746cb98d6c9b echo cat /etc/resolv.conf
我没有找零(新的名称服务器)...所以我尝试用
docker run --rm 746cb98d6c9b echo "nameserver 10.111.122.1" >> /etc/resolv.conf
我得到
zsh: permission denied: /etc/resolv.conf
如何更改此文件的权限或使用root用户或在docker文件中使用chmod?我的真正任务是为该dockerfile的构建添加和dns服务器。
我正在使用Linux Mint。
我在docker run命令上使用ping测试得到了正确的结果(使用
--dns
) 最佳答案
因此,可以在容器的构建过程中添加新的DNS信息的方法之一是向Docker守护进程添加一些启动选项。该过程的The documentation显示您将使用的选项是--dns
。配置文件的位置取决于您的特定发行版。在我的Linux Mint机器上,文件位于/etc/default/docker
中。在Linux Mint上,查找DOCKER_OPTS=
行,并将适当的--dns=x.x.x.x
条目添加到该行。
例如,如果要使用Google的DNS,则应将该行更改为如下所示:
DOCKER_OPTS="--dns=8.8.4.4 --dns=8.8.8.8"
此外,在缺少
--dns
或--dns-search
启动选项的情况下,Docker会改用运行它的主机的/etc/resolv.conf
。关于docker - 带有新名称服务器的Docker,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36362150/