我的项目有两个虚拟环境,“main”和“test”。我想把它们联合在一个服务器上。有人建议我使用nginx代理来完成这个任务,但我不确定如何实现,特别是因为每个环境都有自己的网络:
一个项目的.yml后端(infra/main文件夹)(“test”项目的后端与此类似):
version: "3.8"
services:
postgres:
image: postgres:13.3
container_name: postgres_main
restart: always
volumes:
- postgres_data_main:/var/lib/postgresql/data
ports:
- 5432:5432
env_file:
- .env-main
networks:
- main_db_network
backend:
<...>
depends_on:
- postgres
env_file:
- .env-main
networks:
- main_db_network
- main_swag_network
migrations:
<...>
networks:
main_db_network:
name: main_db_network
external: true
main_swag_network:
name: main_swag_network
external: true
volumes:
postgres_data_main:
name: postgres_data_main
static_value_main:
name: static_value_main
我如何设置一个nginx_proxy来将这两个服务器联合在一个服务器上?
1条答案
按热度按时间lokaqttq1#
您需要添加一个新的服务
nginx
-可能在一个单独的docker-compose文件nginx.conf中,如下所示:或者,您可以区分端口,而不是更改服务名称。例如,
main
将Map为8000:8000
,并测试例如8001:8000
嵌入文件用于nginx:
docker-compose.yml用于提供Nginx服务
它只需要为nginx提供服务,并连接到
test
和main
配置中定义的两个网络