#java #docker
Вопрос:
Я пытаюсь выполнить HttpRequest из библиотеки в службу поддержки пользователей, но не то, чтобы я пробовал, работает. я видел, что если использовать имя, то это громко орк, поэтому я попытался http://library:8080, но он возвращает ошибку
java.lang.IllegalArgumentException: unsupported URI
Вот мой док-файл:
FROM openjdk:11-jdk-slim
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
и мой докер-сочиняй:
version: '3.5'
services:
library:
build:
context: ./
ports:
- "8081:8081"
networks:
- library-network
restart: on-failure
mysql-service:
image: mysql:5.7
ports:
- "3306:3306"
networks:
- library-network
environment:
- MYSQL_ROOT_PASSWORD=admin
- MYSQL_USER=admin
- MYSQL_PASSWORD=admin
- MYSQL_DATABASE=bootdb
restart: on-failure
people-service:
build:
context: ./
args:
JAR_FILE: ./target/library.jar
ports:
- "8080:8080"
environment:
- DB_HOST=jdbc:mysql://mysql-service:3306/library
networks:
- library-network
depends_on:
- mysql-service
- library
restart: on-failure
networks:
library-network:
driver: bridge
Комментарии:
1. Вы пробовали измениться
http://library:8080
наhttp://library
?
Ответ №1:
В вашем вопросе говорится: я пытаюсь выполнить HttpRequest из библиотеки в службу поддержки пользователей
Исходя из этого, я предполагаю, что запрос будет инициирован library
. Тогда URL-адрес должен выглядеть так http://people-service:8080
. Но из сообщения об ошибке я бы предположил, что вы library
не можете запускать http — запросы-независимо от того, куда они направляются, что немного странно. Сначала изучите это, используя простые URL-адреса, такие как http://stackoverflow.com
(которые вернут статус http 301).
Комментарии:
1. Спасибо вам за обратную связь. Ответ отредактирован.
2. Хорошо, это то, что я считаю условным ответом. Даже несмотря на то, что у вас также есть возможность задать вопрос в комментарии.