簡體   English   中英

從一個容器向另一個容器發出 HTTP 請求

[英]Make HTTP request from one container to another

我正在嘗試從庫到人員服務的 httpRequest,但不是我嘗試過的作品。 我看到如果使用它應該使用的名稱,所以我嘗試了 http://library:8080,但它返回錯誤

java.lang.IllegalArgumentException: unsupported URI

這是我的 Dockerfile:

FROM openjdk:11-jdk-slim
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

和我的 docker-compose:

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

您的問題是:我正在嘗試從庫到人員服務的 httpRequest

據此,我假設該請求將在library中啟動。 然后 URL 應該看起來像http://people-service:8080 但是從錯誤消息中,我假設您的library無法運行 http 請求 - 無論它們要去哪里,這有點奇怪。 首先調查一下,使用簡單的 url,如http://stackoverflow.com (這將返回 http 狀態 301)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM