我有一个dnsmasq服务,它当前绑定到127.0.0.1,指向我的minikube实例,如下所示:
address=/.k8s.local/192.168.39.184我想运行码头容器,它将使用我指定的DNS来与minikube实例通信。当我使用docker run --dns 127.0.0.1 ...设置容器的DNS时,输出以下消息:WARNING: Localhost DNS setting (--dns=127.0.0.1) may fail in containers.,如果我像docker run --net host --dns 127.0.0.1 ...一样使用主机的网络,那么一切都按预期的方式工作。如何配置坞桥以使用本地dnsmasq服务解析DNS?
发布于 2018-09-09 07:48:19
您可以从您的Docker容器中使用主机的本地DNS解析器(例如dnsmasq),如果它们位于用户定义网络上。在这种情况下,容器的/etc/resolv.conf将具有名称服务器127.0.0.11 (a.k.a )。嵌入式DNS服务器),它可以正确地将DNS请求转发到主机的回送地址。
$ cat /etc/resolv.conf
nameserver 127.0.0.1
$ docker run --rm alpine cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
$ docker network create demo
557079c79ddf6be7d6def935fa0c1c3c8290a0db4649c4679b84f6363e3dd9a0
$ docker run --rm --net demo alpine cat /etc/resolv.conf
nameserver 127.0.0.11
options ndots:0 https://serverfault.com/questions/900105
复制相似问题