设置嵌入式 DNS 的 Docker DNS 超时

问题描述 投票:0回答:1

在docker中,当由于docker网络而使用嵌入式DNS时,我的应用程序具有以下DNS

search ipa.pain.com pain.com
nameserver 127.0.0.11
options rotate timeout:1 ndots:0

设置

timeout:1
似乎来自使用该设置通过 DNS 的主机。然而,此设置似乎会使 Docker DNS 重试相同的条目,因此无法通过 DNS。有没有办法让我覆盖这个?

docker dns
1个回答
0
投票

例如,在我的主机 PC 设置上:

'cat /etc/resolv.conf':

nameserver 8.8.8.8

我可以通过两种方式更新容器上的这个值:

第一种方法: 在“/etc/docker/daemon.json”中添加 DNS 和 DNS opt 值,然后重新启动 Docker 服务(systemctl restart docker)。

{
"dns": [ "127.0.0.1"],
"dns-opts": ["timeout:5", "rotate"]
}

测试:容器上更新了新的 DNS 和 DNS 选项值。

docker run --rm ubuntu:latest cat /etc/resolv.conf
nameserver 127.0.0.1
options timeout:5 rotate

第二种方式: 使用 DNS 和 DNS opt 参数运行容器。只有创建的容器才会运行这些值。每次运行都需要参数。

测试:

docker run --rm --dns 127.0.0.1 --dns-opt timeout:10 --dns-opt rotate ubuntu:latest cat /etc/resolv.conf
nameserver 127.0.0.1
options timeout:10 rotate
© www.soinside.com 2019 - 2024. All rights reserved.