由于本地网络配置,我必须在我的docker run命令中添加--dns和--dns-search选项,如下所示:
docker run --dns XX.XX.1.1 --dns-search companydomain -t mycontainer
是否有环境变量或配置文件,我可以在其中添加DNS选项,以便每次我想运行容器时都不必输入它们?
我在运行在Windows计算机上托管的VMware VM上的Ubuntu 16.04上使用docker。
谢谢。
答案 0 :(得分:14)
您可以将这些选项添加到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守护程序以应用更改。
您可能会发现更新VM中的/etc/resolv.conf以将此更改应用于docker容器,而不是VM本身。那看起来像是:
nameserver XX.XX.1.1
search companydomain
如果更新resolv.conf,请确保它不受其他工具管理,例如:如果您获得了VM的dhcp地址,则dhcp客户端守护程序将覆盖该地址。