小编chr*_*coy的帖子

Spring Cloud Samples Eureka - Docker - 在链接中使用下划线

使用Spring Cloud,Eureka和Docker可能会遇到一个有趣的异常现象.我不确定我是否发现了一个问题,或者是否有预期的行为,但这里是要点.

我首先开始在一个命名的docker容器中运行eureka.接下来,我使用ClientDiscoveryEnabled启动docker客户端.docker客户端容器正在使用docker"link"参数来获取eureka容器中的主机名可访问性.yaml文件有一个用于连接属性驱动的Eureka的条目:

defaultZone: http://user:${eureka.password}@${host.name}:8761/eureka/
Run Code Online (Sandbox Code Playgroud)

除非我尝试在容器名称中使用下划线,否则一切都很有效.如果我使用下划线来命名我的容器,则客户端容器无法使用Eureka注册完全解析此名称.如果我删除下划线,一切正常.也许我错过了一些事情,这是预期的,但我没有看到任何提及这个"功能".

我的客户来自Spring-Cloud-Samples feign-eureka项目.以下是场景......

这将工作,客户将注册:

sudo docker run -d -p=8761:8761 --name foobar chrisccoy/microsvcdemoeureka
sudo docker run -d -p=7311:7311 --name democlnt --link foobar:foobar chrisccoy/microsvcdemoclnt java -jar /opt/tst/ms_clnt.jar --host.name=foobar
Run Code Online (Sandbox Code Playgroud)

以下不起作用!Eureka将启动,客户端将启动,但无法注册:

sudo docker run -d -p=8761:8761 --name foo_bar chrisccoy/microsvcdemoeureka
sudo docker run -d -p=7311:7311 --name democlnt --link foo_bar:foo_bar chrisccoy/microsvcdemoclnt java -jar /opt/tst/ms_clnt.jar --host.name=foo_bar 
Run Code Online (Sandbox Code Playgroud)

以下是日志条目和后续异常:

2015-02-25 18:51:27.762 ERROR 1 --- [pool-4-thread-1] com.netflix.discovery.DiscoveryClient    : Can't get a response from http://user:password@foo_bar:8761/eureka/apps/HELLOCLIENT/172.17.0.11:HelloClient:7311
Can't contact any eureka nodes - possibly a security group issue? …
Run Code Online (Sandbox Code Playgroud)

docker spring-boot spring-cloud netflix-eureka

10
推荐指数
1
解决办法
2408
查看次数