小编wat*_*car的帖子

Nginx无法从docker 1.10.1中的嵌入式DNS获取主机

我有几个服务在docker容器中运行,一个nginx服务器在它们前面,所有容器都在同一个docker网络中.在docker 1.10之前,我创建了一个dnsmasq容器并在nginx中设置了解析器,因此可以从nginx中发现我的服务.

但升级到docker 1.10.1后,dnsmasq映像不起作用.经过一些研究,我尝试使用地址127.0.0.11中的新"嵌入式dns"(我认为这应该是在docker网络中使用的正确方法).虽然我可以从nginx容器ping到服务容器,但是nginx继续发回could not be resolved (3: Host not found).

然后我尝试使用host命令,我得到了非常令人困惑的结果:(第一个ip地址,然后找不到主机 - 与我从nginx获得的代码相同)

# host service-ui
service-ui has address 172.18.0.7
Host service-ui not found: 3(NXDOMAIN)
Host service-ui not found: 3(NXDOMAIN)
Run Code Online (Sandbox Code Playgroud)

Ping工作

/# ping service-ui
PING service-ui (172.18.0.7): 56 data bytes
64 bytes from 172.18.0.7: icmp_seq=0 ttl=64 time=1.123 ms
64 bytes from 172.18.0.7: icmp_seq=1 ttl=64 time=0.131 ms
64 bytes from 172.18.0.7: icmp_seq=2 ttl=64 time=0.178 ms
Run Code Online (Sandbox Code Playgroud)

以下是我的配置的简化版本:

泊坞窗,compose.yml

version: '2'

services:
  nginx:
    build: .
    ports:
      - 80:80   
  service-ui:
    image: …
Run Code Online (Sandbox Code Playgroud)

dns nginx docker

8
推荐指数
1
解决办法
5841
查看次数

标签 统计

dns ×1

docker ×1

nginx ×1