当net = host时,Rancher无法找到链接

时间:2016-10-28 12:07:09

标签: docker docker-compose rancher

我有一个服务发现和一个在Rancher注册到这个服务器的客户端。 它是这样的:

eureka-server:
  ports:
  - 8761:8761/tcp
  labels:
    io.rancher.container.pull_image: always
    io.rancher.container.start_once: 'true'
  tty: true
  image: luizkowalski/eureka-server
  stdin_open: true
  net: host
edge-server:
  ports:
  - 8080:8080/tcp
  labels:
    io.rancher.container.pull_image: always
    io.rancher.container.start_once: 'true'
  tty: true
  image: luizkowalski/edge-server
  links:
  - eureka-server:discovery
  stdin_open: true
  net: host

根据链接,我应该可以使用主机名eureka-server连接到discovery,例如http://discovery:8761/eureka,但我正在

10/28/2016 2:04:55 PMCaused by: java.net.UnknownHostException: discovery
10/28/2016 2:04:55 PM   at java.net.InetAddress.getAllByName0(InetAddress.java:1280) ~[na:1.8.0_92-internal]
10/28/2016 2:04:55 PM   at java.net.InetAddress.getAllByName(InetAddress.java:1192) ~[na:1.8.0_92-internal]
10/28/2016 2:04:55 PM   at java.net.InetAddress.getAllByName(InetAddress.java:1126) ~[na:1.8.0_92-internal]
10/28/2016 2:04:55 PM   at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45) ~[httpclient-4.5.2.jar!/:4.5.2]
10/28/2016 2:04:55 PM   at org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:262) ~[httpclient-4.5.2.jar!/:4.5.2]
10/28/2016 2:04:55 PM   at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:161) ~[httpclient-4.5.2.jar!/:4.5.2]
10/28/2016 2:04:55 PM   at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144) ~[httpclient-4.5.2.jar!/:4.5.2]

当我在Rancher中将网络用作managed时,它可以正常工作,但结果是,我的服务发现将我的内部ips暴露给负载均衡器(172.xxx.xxx.xx),我无法做到给我的注册服务打电话 是否有任何配置缺失?

1 个答案:

答案 0 :(得分:1)

为了访问提供链接名称解析的Rancher DNS,您需要使用net:host添加到服务器的标签io.rancher.container.dns:true