运行多个网站 – docker工作

我有一个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个服务。 一个网站,一个数据库和一个networking服务器,按预期工作。

现在我有另一个单独的Web项目,这是一个CMS使用相同的数据库作为API项目,我想将其添加到此泊坞窗撰写文件,但我不知道如何configurationWeb服务器服务来处理来自上述请求2个网站。 我应该为cms添加另一个web服务器吗?

我在谷歌search,但我找不到明确的东西,大部分的结果是使用我不熟悉的旧docker构成版本。

提前致谢。

通常情况下,你将有一个单独的Web服务器,它公开和发布自己的端口(不是80)。

你将有一个专门的监听器(通常是一个NGiNX)来确保一个反向代理,以便根据path或端口将查询redirect到正确的networking服务器。

http://www.bogotobogo.com/DevOps/Docker/images/Docker-compose-reverse-proxy-nginx/nginx-reverse-proxy-pic.png K Hong 。

请参阅“ Docker撰写:具有多个容器的NGINX反向代理 ”