使用 Docker-compose 管理多个网站

使用 Docker-compose 管理多个网站

有一个很好的答案https://stackoverflow.com/questions/47849096/running-multiple-websites-docker-compose但它只在你拥有如下结构时才有效

└───project
    │   docker-compose.yml
    ├───reverseproxy
    │       Dockerfile
    │       nginx.conf
    ├───website1.com
    │       Dockerfile
    └───website2
            Dockerfile

(当然除了提到的之外还有一些其他的内容,但这些是最重要的)

但我认为通常结构是不同的(至少它对我来说是有意义的并且我目前使用它):

└───projects
    ├───website1.com
    │       docker-compose.yml
    │       Dockerfile
    ├───website2
    │       docker-compose.yml
    │       Dockerfile
    └───website3
            docker-compose.yml
            Dockerfile

每个“网站”文件夹都是一个独立的 git 存储库。每个网站都可以单独克隆并在本地运行。因此,对于 website1.com 开发,您无需克隆托管在同一服务器上的所有其他 100 个网站。

问题是 - 有了这种结构(适合本地测试\开发),我该如何“合并”/“合并”生产服务器中的所有网站?看起来像遗产最适合这里,但有报道问题对于 docker-compose 来说,如果没有丑陋的解决方法,它几乎毫无用处......

我想要实现的目标是:

  1. 保留克隆一个网站并在本地运行的可能性,以进行开发
  2. 在生产中可以“一键”运行所有网站
  3. 在生产中可以在“共享”容器中运行某些东西(例如用于路由和处理 HTTPS 的 nginx 反向代理;也可以是用于发送电子邮件的容器化 SMTP 服务器)

相关内容