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;
}
}
}
以上就是两个文件
- XXXX 被替换为编辑。所以请忽略
- 当我调用 http://localhost:5001 时,nginx 会按照自己的意思工作,它会路由等但是
- 根据 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
我是 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;
}
}
}
以上就是两个文件
- XXXX 被替换为编辑。所以请忽略
- 当我调用 http://localhost:5001 时,nginx 会按照自己的意思工作,它会路由等但是
- 根据 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