为docker运行configuration选项

由于本地networkingconfiguration,我必须添加–dns和–dns-search选项到我的docker运行命令,如下所示:

docker run --dns XX.XX.1.1 --dns-search companydomain -t mycontainer 

有没有一个环境variables或configuration文件,我可以添加DNS选项,所以我不必每次我想运行一个容器时键入它们?

我在Windows机器上托pipe的VMware VM上运行的Ubuntu 16.04上使用docker。

谢谢。

您可以将这些选项添加到docker守护进程,作为它运行的所有容器的默认选项。 在dockerd命令行上,选项相同,– --dns XX.XX.1.1 --dns-search companydomain 。 要避免更改启动脚本以添加该选项,可以使用以下内容设置/etc/docker/daemon.json文件更容易:

 { "dns": ["XX.XX.1.1"], "dns-search": ["companydomain"] } 

然后使用systemctl restart docker启动docker守护程序以应用更改。

您可能会发现更新虚拟机中的/etc/resolv.conf以将此更改应用到不在Docker容器上,而是在虚拟机本身上更好。 这看起来像:

 nameserver XX.XX.1.1 search companydomain 

如果更新了resolv.conf,请确保它不是由其他工具pipe理的,例如,如果您正在获取虚拟机的dhcp地址,则会被dhcp客户端守护程序覆盖。