gpt4 book ai didi

java - 云配置收到请求执行错误。端点=默认端点{ serviceUrl='http ://localhost:8761/} from Eureka server

转载 作者:行者123 更新时间:2023-12-01 14:17:31 25 4
gpt4 key购买 nike

我正在尝试为我的 4 个微服务实现 Discovery First Bootstrap 方式。第一个是从 git 获取配置的配置服务器,第二个是 Eureka 服务器。当我运行 docker-compose up 时,我的配置服务器无法注册 eureka。我有:

请求执行错误。端点=默认端点{ serviceUrl=' http://localhost:8761/ } 拒绝连接

我的配置服务器

 @EnableConfigServer
@EnableEurekaClient
@SpringBootApplication
public class ConfigServerApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigServerApplication.class, args);
}

应用程序.yml
   server:
port: 8888
spring:
cloud:
config:
server:
encrypt.enabled: false
git:
uri: https://github.com/Artuwok/artbook-config-repo/
searchPaths: userservice
username: Artuwok
password: Civilization1986
timeout: 10
force-pull: true

bootstrap .yml
spring:
application:
name: configserver
cloud:
config:
fail-fast: true
discovery.enabled: true

eureka:
client:
registerWithEureka: true
fetchRegistry: true
serviceUrl.defaultZone: http://localhost:8761/eureka/

Eureka 级
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {

public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}

Eureka bootstrap .yml
server:
port: 8761
eureka:
client:
registerWithEureka: false
fetchRegistry: false

具有完整配置的 docker-compose.yml
version: '3'

services:

configserver:
image: configserver:1.0
ports:
- "8888:8888"
depends_on:
- eurekaserver
restart: on-failure

eurekaserver:
image: eurekasvr:1.0
ports:
- "8761:8761"


users_db:
image: mysql:5.7
container_name: users_db
restart: always
environment:
- MYSQL_DATABASE=artbook
- MYSQL_ROOT_PASSWORD=password
- MYSQL_USER=user
- MYSQL_PASSWORD=password
volumes:
- users_db:/var/lib/mysql
ports:
- "3306:3306"
depends_on:
- eurekaserver

user-service:
image: userservice:1.0
ports:
- "8080:8080"
depends_on:
- eurekaserver
- configserver
restart: on-failure
volumes:
users_db:

所以最后我能够启动服务。非常注意您正在发现服务的 URL。 如果您使用 docker 图像,则必须在 uri 和 urls 中使用服务名称,而不是 localhost。 我的工作配置
spring:
application:
name: configserver
cloud:
config:
fail-fast: false
discovery.enabled: false
uri: http://configserver:8888

eureka:
client:
registerWithEureka: true
fetchRegistry: true
serviceUrl.defaultZone: http://eurekaserver:8761/eureka

最佳答案

您的配置服务器和 Eureka 服务器都在 Docker 中运行。所以他们可以在 Docker 中使用他们的名字相互连接,而不是 localhost .

所以 Eureka 服务 URL 应该是:http://eurekaserver:8761/ .

您应该将以下代码添加到您的 configserver docker-compose.yml 中的配置:

links:
- eurekaserver

关于java - 云配置收到请求执行错误。端点=默认端点{ serviceUrl='http ://localhost:8761/} from Eureka server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55336558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com