I have been reading all the possible errors and solutions but they do not apply to my case. I have several microservices defined, admin-server, eureka-server, config-server. Before I had problems that were not registered locally or in docker with docker-compose but now the problem is in docker. The configuration of the microservices is the same and I don't understand why one of them is not registering in eureka. I have verified that they are on the same network but I don't know more. I'm attaching the docker-compose configuration and properties to see if they might detect something I don't see. I have modified in the customer-service microservice the HOST_NAME=eureka-server with the name of the container to see if it is the problem but no, before it was with discovery-server Thank you
Spring-boot 3.2.3, Spring cloud 2023.0.0, Java openjdk-17
Error when starting
c.n.d.s.t.d.RedirectingEurekaHttpClient : Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://eureka-server:8761/eureka/}, exception=503 Service Unavailable from UNKNOWN stacktrace=org.springframework.web.reactive.function.client.WebClientResponseException$ServiceUnavailable: 503 Service Unavailable from UNKNOWN
docker-compose.yml
version: '3.8'
services:
############################################################################
## Configuración para el servidor descubridor de servicios
##
############################################################################
registry-discovery:
networks:
- payment_network
container_name: eureka-server
image: paymentchain/service-docker-eureka-server:0.0.1-SNAPSHOT
ports:
- "8761:8761"
environment:
- JAVA_OPTS=
-Xms256M
-Xmx256M
-DHOST_NAME=registry-discovery
-DSECURE_PORT=8761
- SPRING_PROFILES_ACTIVE=docker
############################################################################
## Configuración para el servidor de configuraciones de propiedades
## de servicios
##
############################################################################
configuration-server:
networks:
- payment_network
container_name: config-server
image: paymentchain/service-docker-config-server:0.0.1-SNAPSHOT
volumes:
- ./config-server-repo:/tmp/config-server-repo
environment:
- JAVA_OPTS=
-Xms256M
-Xmx256M
- USER_NAME=argades
- TOKEN_ACCESS=xxxxxxxxxxxxxxx
- SERVER_REPO=config-server-repo
- HOST_NAME=registry-discovery
- SECURE_PORT=8761
- REMOTE_REPOSITORY=https://github.com/argades/spring-boot-ms-test.git
- SPRING_PROFILES_ACTIVE=docker
depends_on:
- registry-discovery
ports:
- 8888:8888
############################################################################
## Configuración para el servidor de administración de servicios
##
############################################################################
administration-server:
networks:
- payment_network
container_name: admin-server
image: paymentchain/service-docker-admin-server:0.0.1-SNAPSHOT
environment:
- JAVA_OPTS=
-Xms256M
-Xmx256M
- HOST_NAME=registry-discovery
- SECURE_PORT=8761
- SPRING_PROFILES_ACTIVE=docker
depends_on:
- registry-discovery
ports:
- "8762:8762"
############################################################################
## Configuración para el servicio de productos
##
############################################################################
product-service:
networks:
- payment_network
container_name: product-service
image: paymentchain/service-docker-product:0.0.1-SNAPSHOT
environment:
- JAVA_OPTS=
-Xms256M
-Xmx256M
- SERVER_PORT=8083
- HOST_NAME=registry-discovery
- SECURE_PORT=8761
- ADMIN_SERVER_URL=http://administration-server:8762
- REMOTE_REPOSITORY_SERVER_URI=http://configuration-server:8888
- CFG_SERVER_ID=configuration-server
- CFG_PROPERTY_FILE_NAME=payment-chain
- CFG_PROFILE=production
- CFG_USER_NAME=admin
- CFG_PASSWORD=qwerty
- SPRING_PROFILES_ACTIVE=docker
links:
- registry-discovery
- configuration-server
- administration-server
depends_on:
configuration-server:
condition: service_started
registry-discovery:
condition: service_started
administration-server:
condition: service_started
ports:
- "8083:8083"
############################################################################
## Configuración para el servicio de clientes
##
############################################################################
customer-service:
networks:
- payment_network
container_name: customer-service
image: paymentchain/service-docker-customer:0.0.1-SNAPSHOT
environment:
- JAVA_OPTS=
-Xms256M
-Xmx256M
- SERVER_PORT=8081
- HOST_NAME=eureka-server
- SECURE_PORT=8761
- ADMIN_SERVER_URL=http://administration-server:8762
- REMOTE_REPOSITORY_SERVER_URI=http://configuration-server:8888
- CFG_SERVER_ID=configuration-server
- CFG_PROPERTY_FILE_NAME=payment-chain
- CFG_PROFILE=production
- CFG_USER_NAME=admin
- CFG_PASSWORD=qwerty
- PRODUCT_SERVICE_URI=http://product-service:8083/api/product
- TRANSACTION_SERVICE_URI=http://transaction-service:8082/api/transaction
- SPRING_PROFILES_ACTIVE=docker
links:
- registry-discovery
- configuration-server
- administration-server
depends_on:
postgres_db:
condition: service_started
configuration-server:
condition: service_started
registry-discovery:
condition: service_started
administration-server:
condition: service_started
ports:
- "8081:8081"
############################################################################
## Configuración para el servicio de transacciones
##
############################################################################
transaction-service:
networks:
- payment_network
container_name: transaction-service
image: paymentchain/service-docker-transaction:0.0.1-SNAPSHOT
environment:
- JAVA_OPTS=
-Xms256M
-Xmx256M
- SERVER_PORT=8082
- HOST_NAME=registry-discovery
- SECURE_PORT=8761
- ADMIN_SERVER_URL=http://administration-server:8762
- REMOTE_REPOSITORY_SERVER_URI=http://configuration-server:8888
- CFG_SERVER_ID=configuration-server
- CFG_PROPERTY_FILE_NAME=payment-chain
- CFG_PROFILE=development
- CFG_USER_NAME=admin
- CFG_PASSWORD=qwerty
- SPRING_PROFILES_ACTIVE=docker
links:
- registry-discovery
- configuration-server
- administration-server
depends_on:
configuration-server:
condition: service_started
registry-discovery:
condition: service_started
administration-server:
condition: service_started
ports:
- "8082:8082"
############################################################################
## Database configuration
##
############################################################################
postgres_db:
networks:
- payment_network
container_name: postgres
image: postgres
ports:
- 5432:5432
restart: always
volumes:
- ./dbfiles/:/docker-entrypoint-initdb.d/init-user-db.sh:rw
- /var/lib/postgres_data:/var/lib/postgressql/data
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=qwerty
- POSTGRES_DB=postgres
pgadmin4:
networks:
- payment_network
image: dpage/pgadmin4
restart: always
environment:
PGADMIN_DEFAULT_EMAIL: [email protected]
PGADMIN_DEFAULT_PASSWORD: admin
ports:
- 80:80
depends_on:
- postgres_db
networks:
payment_network:
name: payment_network
driver: bridge
customer-service, transaction-service and product-service are the same eureka configuration properties.
#--------------------------------
# EUREKA SERVICE DISCOVERY
#--------------------------------
eureka.client.fetch-registry=true
eureka.client.webclient.enabled=true
eureka.instance.prefer-ip-address=true
eureka.client.register-with-eureka=true
eureka.instance.hostname=${HOST_NAME}
eureka.instance.secure-port=${SECURE_PORT}
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${eureka.instance.secure-port}/eureka/