【问题标题】:requests are not sent to ngnix reverse proxy in docker compose请求不会发送到 docker compose 中的 nginx 反向代理
【发布时间】:2020-11-26 19:40:34
【问题描述】:

我是 docker / dev ops 世界的新手。所以请原谅我。我有一个 docker compose 文件和 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. 从风险分析-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 来扩大规模

【问题讨论】:

    标签: docker nginx nginx-reverse-proxy


    【解决方案1】:

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

    所以这应该在您的 risk-analysis-XXXX1 容器中起作用:

    http://ngnix-server:80

    【讨论】:

    • 你是明星。有效。非常感谢。我会把你的答案标记为真棒
    • 没问题,很高兴我能帮上忙。
    • 我在我的笔记本电脑上本地安装了桌面版 docker,我在其中测试了您的建议并且效果很好。现在我将 nginx.conf 和 docker-compose.yml 复制到 amazonlinux (ec2)。我在那里安装了一个 docker(如下 - docs.aws.amazon.com/AmazonECS/latest/developerguide/…)...问题是相同的 docker-compose 和 ngnix.config 给出 java.net.ConnectException: Connection denied when calling ngnix-server:80...任何建议都会有所帮助。
    • 现在已排序。在端口 80 中正在运行其他东西。所以我把它改成了4000。现在都排序了。在这里发表评论,因为这可能对其他人有帮助
    猜你喜欢
    • 1970-01-01
    • 2021-07-10
    • 2018-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多