我有一个看起来像这样的docker-compose.yml文件
version: "3.0"
volumes:
dbdata:
.:
services:
api:
build:
context: ./api
args:
- APP_NAME=${APP_NAME}
dockerfile: dockerfile
depends_on:
- database
- webserver
volumes:
- ./api:/usr/local/share/${APP_NAME}
database:
image: mysql:5.7
volumes:
- ./dbdata:/var/lib/mysql
restart: always
ports:
- ${COMPOSE_DB_PORT}:3306
webserver:
build:
context: .
dockerfile: webserver.dockerfile
working_dir: "/usr/local/share/${APP_NAME}"
volumes:
- ./api:/usr/local/share/${APP_NAME}
restart: always
ports:
- ${COMPOSE_APP_PORT}:80
它有3个服务。网站,数据库和Web服务器可以正常工作。
现在我有另一个单独的Web项目是CMS,它使用与API项目相同的数据库,并且我想将其添加到该docker compose文件中,但是我不知道如何配置Web服务器服务以处理来自所述的请求2个网站。我应该为cms添加另一个Web服务器吗?
我在Google上搜索,但找不到清晰的东西,大多数结果都使用了我不熟悉的旧docker-compose版本。
提前致谢。
最佳答案
通常,您将有一个单独的Web服务器,该服务器公开并发布自己的端口(而不是80)。
您将拥有一个专用的侦听器(通常为NGiNX)来确保反向代理,以便根据查询的路径或端口将查询重定向到正确的Web服务器。
通过K Hong。
例如,参见“Docker compose : NGINX reverse proxy with multiple containers ”
关于docker - 运行多个网站-Docker Compose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47849096/