我 docker-compose 将我 SrpingBoot 微服务部署在 docker 容器中,在部署 Euraka 时 总是失败,无法连接到 Euraka服务器,经过各种寻找终于解决,记录成本文。
将要连接的 Euraka 客户机在连接 Euraka 时提示“连接拒绝”,或者“无法找到服务“
确保以下几处配置:
说明: links 配置项指定了 docker 客户端微服务 通过 eureka 这个名字进行连接。然后就可以使用 http://eureka:8761/eureka/ 配置发现服务的地址了。
eureka 工程的 application.yml
server: port: ${PORT:8761} spring: application: name: eureka # 将在 Eureka 注册的服务的逻辑名称 profiles: active: dev eureka: client: registerWithEureka: false #服务注册,是否将自己注册到Eureka服务中 fetchRegistry: false #服务发现,是否从Eureka中获取注册信息 server: waitTimeInMsWhenSyncEmpty: 5
docker-compose. 的配置文件 docker-compose.yaml
version: '3.1' services: eureka: build: ./eureka-service ports: - 8761:8761 environment: PORT: "8761" PROFILE: "dev" zuul: build: ./zuul ports: - 11111:11111 links: - eureka environment: PORT: "11111" PROFILE: "dev" EUREKA_SERVER: "eureka" EUREKASERVER_PORT: "8761" EUREKASERVER_URI: "http://eureka:8761/eureka/" article: build: ./article-service links: - eureka environment: PORT: "11400" PROFILE: "dev" EUREKA_SERVER: "eureka" EUREKASERVER_PORT: "8761" EUREKASERVER_URI: "http://eureka:8761/eureka/" user: build: ./user-service links: - eureka environment: PORT: "11300" PROFILE: "dev" EUREKA_SERVER: "eureka" EUREKASERVER_PORT: "8761" EUREKASERVER_URI: "http://eureka:8761/eureka/"
客户端微服务 工程的 application.yml
server: port: ${PORT:11111} spring: application: name: zuul # 将在 Eureka 注册的服务的逻辑名称 eureka: instance: preferIpAddress: true client: registerWithEureka: true fetchRegistry: true serviceUrl: defaultZone: ${EUREKASERVER_URI:http://localhost:8761/eureka/}
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句