由于本地网络的配置,我必须在docker运行命令中添加–dns和–dns-search选项,如下所示:
docker run --dns XX.XX.1.1 --dns-search companydomain -t mycontainer
是否有一个环境变量或配置文件,可以在其中添加DNS选项,这样我就不必在每次运行容器时都键入它们?
我正在Windows主机上运行的VMware VM上运行的Ubuntu 16.04上使用docker。
谢谢。
您可以将这些选项添加到docker守护程序中,作为它运行的所有容器的默认选项。在dockerd命令行上,选项相同--dns XX.XX.1.1 --dns-search companydomain。为避免更改启动脚本以添加该选项,设置具有以下内容的/etc/docker/daemon.json文件会更容易:
dockerd
--dns XX.XX.1.1 --dns-search companydomain
{ "dns": ["XX.XX.1.1"], "dns-search": ["companydomain"] }
然后重新启动docker守护程序systemctl restart docker以应用更改。
systemctl restart docker
您可能会发现最好更新VM中的/etc/resolv.conf以将此更改应用到Docker容器而不是VM本身。看起来像:
nameserver XX.XX.1.1 search companydomain
如果更新resolv.conf,请确保它不受其他工具的管理,例如,如果要获取VM的dhcp地址,则该地址将被dhcp客户端守护程序覆盖。