我正在使用spring cloud eureka在aws上的停靠环境中进行微服务注册。
当我使用dockers临时端口映射时,容器主机上公开的端口是未知的。为了克服这个问题,我有一个自定义的EurekaInstanceConfigBean,它向主机上的docker守护进程请求分配的端口,这样我就可以使用它向eureka注册。
在注册开始之前,一切都运行得很好。EurekaDiscoveryClientConfiguration包含一个@EventListener(EmbeddedServletContainerInitializedEvent.class),它覆盖了我在自定义EurekaInstanceConfigBean中分配的外部端口,并将其设置回容器内部的本地端口。
我认为监听器的目的是在server.port=0的情况下支持自动端口分配,但在我的设置中它破坏了一些东西。
问题是:我能以某种方式停止EurekaDiscoveryClientConfiguration以覆盖我手动设置的端口吗?我可以以某种方式使用自己的EurekaDiscoveryClientConfiguration吗
发布于 2016-07-29 18:21:55
您可以使用主机网络,因此docker容器使用主机的网络堆栈,这使得服务可以在其IP地址上访问。
我通过使用docker-compose来使用它。这些服务都有随机端口,尽管边缘服务作为反向代理(在我的例子中是基于zuul )。这些边缘服务具有稳定的端口。
https://stackoverflow.com/questions/38619323
复制相似问题