Eureka 客户端无法向 eureka 服务器注册服务

我有两个罐子:“Eureka”和“Webportal”。
我试图在两个 docker 容器中运行它们(使用 docker-compose)。
我从 Webportal 服务容器中收到一个错误:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
容器能够相互访问,我已经使用以下方法对其进行了检查:-(
附加docker exec -it {container_id} /bin/sh控制台)
wget http://192.168.1.169:8761(获取 eureka 服务的主页)。

我读到 Eureka 无法解析主机名,社区建议的一个可能的解决方法是使用主机 ip。

这是我的 docker-compose 文件:

version: '3'

services:

  mysql:

    container_name: project-mysql

    image: mysql/mysql-server:5.7

    ports:

    - "3306:3306"

    environment:

      MYSQL_DATABASE: project

      MYSQL_ROOT_PASSWORD: 

      MYSQL_ROOT_HOST: '%'

    restart: always


  redis:

    container_name: project-redis

    image: redis:alpine

    ports:

    - "6379:6379"

    restart: always


  eureka-server:

    container_name: project-eureka

    image: maven:3.5-jdk-8

    ports:

    - "8761:8761"

    working_dir: /service

    volumes:

    - ../project-eureka-service/target:/service

    command: java -jar /service/project-eureka-service-0.0.1-SNAPSHOT.jar

    restart: always

    depends_on:

    - redis

    - mysql


  webportal:

    container_name: project-webportal

    image: maven:3.5-jdk-8

    ports:

    - "9191:9191"

    working_dir: /service

    volumes:

    - ../project-webportal/target:/service

    command: java -jar /service/project-webportal-0.0.1-SNAPSHOT.jar

    restart: always

    depends_on:

    - eureka-server        

    links: 

    - eureka-server


networks:

  spring-cloud-network:

    driver: bridge


使用此配置,我可以从主机(通过 java -jar)运行它们,但不能通过 docker(docker-compose up)运行它们。


我应该改变什么?


手掌心
浏览 78回答 1
1回答

幕布斯6054654

试试这个配置:eureka.client.serviceUrl.defaultZone=http://192.168.1.169:8761/eureka
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java