docker将nginx反向代理组合到错误的容器

docker将nginx反向代理组合到错误的容器,docker,nginx,docker-compose,Docker,Nginx,Docker Compose,我有一个project server的docker compose.yml文件。它包含一个mongo容器、nginx服务和一个面板 我必须为测试和主环境将我的服务和面板封装起来。首先我在测试上发布,然后在主环境上发布 在发布到mainnginx之后,转发测试请求,这就是问题所在 重新启动nginx可以解决问题,因此,在主环境上每次发布后,如何在不重新启动nginx的情况下永久解决问题 docker compose.yml: 版本:“3.7” 服务:主要mongo: 图片:mongo:4.2.3

我有一个project server的
docker compose.yml
文件。它包含一个
mongo
容器、
nginx
服务和一个面板

我必须为测试和主环境将我的服务和面板封装起来。首先我在测试上发布,然后在主环境上发布

在发布到main
nginx
之后,转发测试请求,这就是问题所在

重新启动
nginx
可以解决问题,因此,在主环境上每次发布后,如何在不重新启动
nginx
的情况下永久解决问题

docker compose.yml


版本:“3.7”
服务:主要mongo:
图片:mongo:4.2.3
集装箱名称:主mongo
卷数:
-mongodb:/data/db
-mongoconfig:/data/configdb
主要服务:
图片:项目
容器名称:主服务
重新启动:失败时
卷数:
-/视图:/project/视图
-/公共:/project/公共
取决于:
-主蒙戈
测试服务:
图片:test_项目
容器名称:测试服务
重新启动:失败时
卷数:
-/测试视图/视图:/project/view
-/测试视图/公共:/project/public
环境:
-ENV=测试
取决于:
-主蒙戈
测试面板:
图:测试面板
容器名称:测试面板
重新启动:失败时
环境:
-ENV=测试
取决于:
-主蒙戈
主面板:
图片:面板
容器名称:主面板
重新启动:失败时
取决于:
-主蒙戈
python_后端_测试:
图:python_后端_测试
容器名称:python\u后端\u测试
重新启动:失败时
卷数:
-/tmp:/tmp
nginx:
图片:nginx:1.17
容器名称:nginx
重新启动:失败时
端口:
- 80:80
卷数:
-/nginx:/etc/nginx/conf.d/
-/面板\前:/usr/共享/面板
取决于:
-主面板
-测试面板
-测试服务
-主要服务
卷:mongodb:mongoconfig:
nginx.conf

server {
        listen 80;
        listen [::]:80;
        server_name domain.com;
        location /api {
           proxy_pass http://main_panel:3000;
        }
        location /account {
           root /usr/share/panel/live;
           try_files $uri $uri/ /index.html;
        }
        location / {
            proxy_pass http://main_service:3000;
        }
}

server {
        listen 80;
        listen [::]:80;
        server_name test.domain.com;
        location /netflix {
            proxy_pass http://python_backend_test:5000;
        }
        location /api {
            proxy_pass http://test_panel:3000;
        }
        location /account {
           alias /usr/share/panel/test/;
           try_files $uri $uri/ /index.html;
        }
        location / {
            proxy_pass http://test_service:3000;
        }
}
我也有同样的问题。
我解决了为docker compose创建网络的问题,为您的项目创建网络,并将所有容器添加到该网络中


更清楚的是,默认网络。默认网络可能会冲突。

谢谢您的帮助。它成功了。