Docker Tomcat的Nginx服务器代理(简单是…;?否)

Docker Tomcat的Nginx服务器代理(简单是…;?否),docker,tomcat,nginx,Docker,Tomcat,Nginx,我已经创建了一个docker compose文件来加速nginx和tomcat映像。我使用卷文件,如/etc/nginx/nginx.conf和/etc/nginx/conf.d/app.conf Tomcat也一样,但有xml配置文件和WebApp 两个都能自行旋转并运转良好。我可以浏览到Nginx,在它们各自的端口81/8080上获得welcom页面和Tomcat页面 但是,我不能将请求代理给后端tomcat。我承认,我是阿帕奇,多年来一直如此,但我需要进行实验 我的nginx.conf没有

我已经创建了一个docker compose文件来加速nginx和tomcat映像。我使用卷文件,如/etc/nginx/nginx.conf和/etc/nginx/conf.d/app.conf Tomcat也一样,但有xml配置文件和WebApp

两个都能自行旋转并运转良好。我可以浏览到Nginx,在它们各自的端口81/8080上获得welcom页面和Tomcat页面

但是,我不能将请求代理给后端tomcat。我承认,我是阿帕奇,多年来一直如此,但我需要进行实验

我的nginx.conf没有改变,它仍然是默认的。我有一个用于tomcat应用程序的app.conf(如下)。我确实尝试过在tomcat Dockerfile中使用default.conf,但它仍然保留在我的app.conf旁边,因此可能导致了问题? 我的app.conf配置在这里:(抱歉,无法正确输出代码)

tomcat:8080是docker compose文件中服务的名称。 任何帮助都将不胜感激

谢谢,, 克雷格

docker-compose.yml供参考; 版本:“3”

services:
  nginx:
    build: ./nginx
    image: nginx:evf
    command: nginx -g "daemon off;"
    networks:
      - evf
    container_name: evf-nginx
    volumes:
      - ./volumes/config/nginx-evf.conf:/etc/nginx/conf.d/nginx-evf.conf
      - ./volumes/config/default.conf.disabled:/etc/nginx/conf.d/default.conf.disabled
    ports:
      - "81:80"
  tomcat:
    image: tomcat
    working_dir: /usr/local/tomcat
    volumes:
      - ./volumes/config/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml
      - ./volumes/webapps/EVF.war:/usr/local/tomcat/webapps/EVF.war
    networks:
      - evf
    container_name: evf-tomcat
    ports:
      - "8080:8080" #expose 8080 externally to test connectivity.

networks:
  evf:

谢谢,

在您的nginx配置中,您有
listen*:81
,但您正在使用
“81:80”
公开端口
80

因此,请使用
“81:81”
公开端口
81
,或者将nginx配置更改为
侦听*:80

如果第二个选项不起作用,请尝试通过更改
docker compose.yml中的卷文件来替换原始nginx配置:

volumes:
  - ./nginx/nginx-evf.conf:/etc/nginx/conf.d/default.conf

你能把docker compose.yml
贴出来吗?听起来好像你还没有链接tomcat和nginx容器或者为它们创建网络。当然,这里是。。。所以你没有定义evf网络是否是外部的?嗯,我假设它是内部的。我想当我点击代理时,代理知道内部网络evf并相应地传递?只需在
evf
部分后添加
external:false
。我甚至不知道你有没有合法的符号,有一周的假期。你说得对,我把港口弄错了方向。但是,它仍然不起作用,现在出现502网关错误。Nginx正在报告“连接到上游时连接()失败(111:连接被拒绝)”,您的Tomcat正在运行吗?是,Tomcat正在运行。我取得了进步,但在前进的过程中仍然会犯错。我很高兴离开这个职位,因为它没有什么成就。如果需要,将开始一个新的职位。
volumes:
  - ./nginx/nginx-evf.conf:/etc/nginx/conf.d/default.conf