一尘不染

配置docker run的选项

docker

由于本地网络的配置,我必须在docker运行命令中添加–dns和–dns-search选项,如下所示:

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

是否有一个环境变量或配置文件,可以在其中添加DNS选项,这样我就不必在每次运行容器时都键入它们?

我正在Windows主机上运行的VMware VM上运行的Ubuntu 16.04上使用docker。

谢谢。


阅读 344

收藏
2020-06-17

共1个答案

一尘不染

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

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

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

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

nameserver XX.XX.1.1
search companydomain

如果更新resolv.conf,请确保它不受其他工具的管理,例如,如果要获取VM的dhcp地址,则该地址将被dhcp客户端守护程序覆盖。

2020-06-17