Spring Boot、Docker、发现尤里卡

问题描述 投票:0回答:1

我有以下问题。

我有两个 Springboot 服务:服务 A 和服务发现 Eureka。

我有两个用例。

  1. 我想在本地启动它们
  2. 我想在 AWS ECS 中启动它们。

我把它们装进容器里。然后我使用随机 docker 端口映射启动服务 A:

docker run -p 0: 8080 serviceA

之后我遇到了以下问题。

Docker 服务 A 使用 docker 发现服务注册 端口不正确。服务A注册到Spring Boot的端口 应用程序8080,不是docker端口。

如何告诉服务A注册到docker的端口?

spring-boot docker amazon-ecs netflix-eureka
1个回答
0
投票

Eureka 将尝试在

boostrap.yml
文件中定义的端口中调用您的服务,如果未定义,则为 8080。 因此,您需要在 Docker 容器中打开数据相同端口映射:

docker run -p 8080:[the port used your application]

请记住,读取引导文件是 Spring 在启动时所做的第一件事。

如果您想在本地运行,您可以定义一个配置文件,其中禁用 Spring Cloud 并且端口使用是典型的配置文件(即由属性 server.port 定义)

© www.soinside.com 2019 - 2024. All rights reserved.