如何在/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
如何更改此文件的权限或在docker文件中使用root用户或chmod?我真正的任务是为我的dockerfile构建添加dns服务器
我正在使用linux薄荷糖
我在docker run命令上通过ping测试得到了正确的结果(使用--dns
)
Docker容器的DNS配置可以在容器创建期间进行调整,并且不需要在Docker映像本身中进行硬编码
通过提供
dns
参数,将单个DNS服务器传递到容器:您可以自由提供多个DNS服务器,还可以定义其他与DNS相关的选项,如DNS搜索名称或通用DNS选项:
如果将
cat /etc/resolv.conf
作为命令传递给容器,则可以轻松验证传递的DNS配置选项是否已进入容器的DNS配置:还请参考
docker run
配置,该配置可在https://docs.docker.com/engine/reference/commandline/run/找到因此,向容器的构建过程添加新DNS信息的方法之一是向Docker守护进程添加一些启动选项The documentation对于该进程,您将使用的选项是
dns
。配置文件的位置取决于您的特定发行版。在我的Linux Mint机器上,文件位于/etc/default/docker
。在LinuxMint上,查找DOCKER_OPTS=
行,并向该行添加适当的dns=x.x.x.x
条目例如,如果您想使用谷歌的DNS,您应该将该行更改为如下所示:
此外,在缺少
dns
或dns-search
启动选项的情况下,Docker将使用它运行的主机的/etc/resolv.conf
相关问题 更多 >
编程相关推荐