配置docker run的选项

时间:2017-05-25 15:39:23

标签: docker dns

由于本地网络配置,我必须在我的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。

谢谢。

1 个答案:

答案 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客户端守护程序将覆盖该地址。