我正在尝试调试一个容器dns,解决ubuntu linux docker上的问题。如本文所述,docker在容器中使用嵌入式https://docs.docker.com/config/containers/container-networking/#dns-services服务器。有没有列出Docker嵌入式DNS服务器条目的命令?(比如/etc/resolv.conf中的条目)我试过docker inspect和docker network inspect。还尝试在调试模式下启动dockerd,但没有发现任何有用的东西。
它确实显示了一些配置文件,如下所示。
INFO[2020-07-13T14:39:58.517777580+05:45] detected 127.0.0.53 nameserver, assuming systemd-resolved, so using resolv.conf: /run/systemd/resolve/resolv.conf 但是我想用dns地址127.0.0.11列出dockerd网络的运行时dns条目。有可能吗?
发布于 2021-02-12 00:59:05
这是可能的,但您必须解析由docker network inspect输出的JSON。
运行docker network ls获取正在运行的网络名称,然后运行docker network inspect NETWORK_NAME查看其中的容器。
在JSON中查找"Containers“关键字,它是连接的设备的列表。查找具有"IPv4Address": "127.0.0.11/24"条目的实例," name“键是DNS名。
即,DNS是解析为ip 10.0.8.4/24的countly_countly-endpoint名称
"lb-countly_countly": {
"Name": "countly_countly-endpoint",
"EndpointID": "9f7abf354b5fbeed0be6483b53516641f6c6bbd37ab991544423f5aeb8bdb771",
"MacAddress": "02:42:0a:00:08:04",
"IPv4Address": "10.0.8.4/24",
"IPv6Address": ""
}请注意,countly_是与docker network ls中的网络名称匹配的网络名称空间,这样您就可以确保它们是唯一的,并根据NETWORK-NAME_SERVICE-NAME规则配置您的服务使用DNS名称相互通信。
https://stackoverflow.com/questions/62872963
复制相似问题