首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >eureka客户端没有向eureka服务器注册。

eureka客户端没有向eureka服务器注册。
EN

Stack Overflow用户
提问于 2022-05-29 07:30:44
回答 2查看 871关注 0票数 1

我对码头,春天的框架非常陌生.他们成功地在本地主机环境上运行,现在我想把他们推进码头,但总是给我错误的地方,我被困在它大约一个星期。有人能帮我弄清楚吗!

现在我有了eureka服务器和云配置服务器服务,下面是我的代码:

尤里卡-服务器application.yml

代码语言:javascript
复制
server:
  port: 8761
spring:
  application:
    name: service-registration
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
management:
  security:
    enabled: false

和Dockerfile:

代码语言:javascript
复制
FROM openjdk:11
COPY target/service-registration-0.0.1-SNAPSHOT.jar service-registration.jar
EXPOSE 8761
CMD ["java", "-jar", "service-registration.jar"]

现在我有了云配置服务器application.yml:在这个文件中,我尝试在github上备份它。从一开始,我就试图将主机名更改为localhost或任何其他主机名,如服务注册、eureka-server等.但不是工作,还有“服务-url”或“serviceUrl”.

代码语言:javascript
复制
server:
  port: 9291

spring:
  application:
    name: cloud-config-server
  profiles:
    active: production
#  cloud:
#    config:
#      server:
#        git:
#          uri: https://github.com/sshaunn/config-server
#          clone-on-start: true

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    serviceUrl:
      defaultZone: http://service-registration:8761/eureka/
  instance:
#    prefer-ip-address: true
#    ip-address: http://eureka-server:8761/eureka/å
    hostname: service-registration

Dockerfile:

代码语言:javascript
复制
FROM openjdk:11
COPY target/cloud-config-server-0.0.1-SNAPSHOT.jar cloud-config-server.jar
EXPOSE 9291
ENTRYPOINT ["java", "-jar", "cloud-config-server.jar"]

以及docker-compose.yml文件:

代码语言:javascript
复制
version: '3.7'
services:
  service-registration:
    image: service-registration
    networks:
      - eureka-server
    ports:
      - "8761:8761"
    container_name: service-registration
    hostname: service-registration
  cloud-config-server:
    build: cloud-config-server
    networks:
      - eureka-server
    ports:
      - "9291:9291"
    depends_on:
      - service-registration
    container_name: cloud-config-server
    hostname: service-registration
    environment:
      EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://service-registration:8761/eureka

networks:
  eureka-server:
    name: eureka-server
    driver: bridge
#  route:
#    image: route
#    ports:
#      - "9191:9191"
#    container_name: api-gateway

#    environment:
#      EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://service-registration:8761/eureka

这里的错误日志:

2022-05-2907:22:41.713警告1-新执行器-0 c.n.d.s.t.d.RetryableEurekaHttpClient :请求执行失败,并在GET请求上出现I/O错误:"http://localhost:8761/eureka/apps/":连接到本地主机:8761 localhost/127.0.0.1失败:连接被拒绝(连接被拒绝);2022-05-29 07:06:11.565警告1- tbeatExecutor-0 c.n.d.s.t.d.RetryableEurekaHttpClient :请求执行失败,消息为"http://localhost:8761/eureka/apps/CONFIG-SERVER/service-registration:CONFIG-SERVER:9291":连接到本地主机:8761 localhost/127.0.0.1失败:连接拒绝(连接拒绝);

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-29 13:31:25

好的,我不知道为什么,但是我像这样设置了一个docker-compose.yml文件,它起作用了:注意,我在docker-come.yml文件中设置了关于"service-url“defaultZone的环境。

代码语言:javascript
复制
version: '3.7'
services:
  service-registration:
    container_name: service-registration
    build:
      context: ./service-registration
      dockerfile: Dockerfile
    ports:
      - "8761:8761"
  cloud-config-server:
    container_name: cloud-config-server
    build:
      context: ./cloud-config-server
      dockerfile: Dockerfile
    environment:
      - eureka.client.service-url.defaultZone=http://service-registration:8761/eureka
    depends_on:
      - service-registration
    ports:
      - "9191:9191"
  route:
    container_name: route
    build:
      context: ./route
      dockerfile: Dockerfile
    environment:
      - eureka.client.service-url.defaultZone=http://service-registration:8761/eureka
    depends_on:
      - service-registration
      - employee
      - income
    ports:
      - "9291:9291"
  employee:
    container_name: employee
    build:
      context: ./employee
      dockerfile: Dockerfile
    environment:
      - eureka.client.service-url.defaultZone=http://service-registration:8761/eureka
    depends_on:
      - service-registration
    ports:
      - "9001:9001"
  income:
    container_name: income
    build:
      context: ./income
      dockerfile: Dockerfile
    environment:
      - eureka.client.service-url.defaultZone=http://service-registration:8761/eureka
    depends_on:
      - service-registration
    ports:
      - "9002:9002"
票数 0
EN

Stack Overflow用户

发布于 2022-11-13 20:16:17

您应该使用您的主机ip地址在本地计算机中运行。对于码头来说,它不应该是localhost

在您的application.properties文件中尝试使用以下配置。

eureka.client.service-url.defaultZone=http://host.docker.internal:8761/eureka/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72421740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档