docker compose 中的请求未发送到 nginx 反向代理

requests are not sent to ngnix reverse proxy in docker compose

我是 docker/dev ops 世界的新手。所以请原谅。我有一个 docker 组合文件和 ngnix 配置,如下所示

version: '3.2'
services:
  risk-analysis-XXXX1:
    image: c360saascr.azurecr.io/risk-analysis-XXXX1:1118_ra_in_java
    ports:
      - "8080:8080"
      - "9010:9010"
    links:
      - ngnix-server
    command: -Xms12g -Xmx12g -XX:ActiveProcessorCount=8 -Dapi.connectTimeout=60 -Dapi.readTimeout=60 -Drisk.analysis.service.indexNameDictionaryMatchCounter=id_clients1 -Dlogging.level.com.classify360=DEBUG -Drisk.analysis.XXXX.hostName=ngnix-server -Drisk.analysis.XXXX.port=5001 -verbose:gc -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=heapdumps -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=0.0.0.0 -Dcom.sun.management.jmxremote.port=9010  -Dcom.sun.management.jmxremote.rmi.port=9010  -jar risk-analysis-XXXX-0.0.1-SNAPSHOT.jar


  risk-analysis-XXXX2:
    image: c360saascr.azurecr.io/risk-analysis-XXXX2:1123
    expose:
    - "5000"
    links:
      - elastic-search
    command: http://somerandom:8761/ risk-analysis-XXXX2 5000 risk-analysis-XXXX2-5000.log http://elastic-search:9200
    restart: on-failure


  elastic-search:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.9.3
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      discovery.type: single-node

  ngnix-server:
    image: nginx:1.15
    ports:
      - "5001:80"
    volumes:
      - ./default.conf:/etc/nginx/nginx.conf
    depends_on:
      - risk-analysis-XXXX2


user nginx;
events { worker_connections 1024;}
http {
        server {
              listen 80;
              location / {
                proxy_pass http://risk-analysis-XXXX2:5000;
              }
        }
}

以上就是两个文件

  1. XXXX 被替换为编辑。所以请忽略
  2. 当我调用 http://localhost:5001 时,nginx 会按照自己的意思工作,它会路由等但是
  3. 根据 risk-analysis-XXXX1 无法调用 nginx。我已经将它链接到 ngnix-server 正如你看到的 URL 我试图点击的是 http://ngnix-server:5001 和 risk-analysis-XXXX1

请帮助#3。为什么它没有访问 http://ngnix-server:5001?我得到 java.net.ConnectException:连接被拒绝。 我尝试将它们添加到同一网络中,但没有用。 注意:- 我正在使用 docker-compose up --scale risk-analysis-XXXX2=3 来扩大规模

所以您将容器上的 80 端口映射到主机上的 5001 端口,对吗?如果您随后想通过同一网络连接到 nginx-container,您应该尝试连接到端口 80(这大概是该容器唯一的“公开”端口)。

所以这应该适用于您的 risk-analysis-XXXX1 容器:

http://ngnix-server:80