我的服务器有 20/30 个站点,我想使用 Docker 容器来实现可扩展性、可维护性和安全性。
经过几次搜索,我发现了两种方法:
- 每个应用程序一个容器(包括所有应用程序,如 LAMP),
- 每个“服务”一个容器,例如 Apache、Mysql……和应用程序。
关于我的目标(20/30 个网站到主机,类似应用程序的重复容器...)我会选择第一个。作为一个完全的初学者,我寻求建议:什么是最好的?
谢谢您的回答!
尼古拉斯
答案1
在新建项目中,首选的解决方案是每个服务都有一个容器,即一个 Apache 容器和一个单独的 Mysql 容器。由于 Apache 将在大多数 LAMP 堆栈中直接生成并与应用程序通信,因此我不会将它们分开。将这两个容器放在 docker-compose.yml 定义中,并在私有网络中一起启动它们(docker-compose 的默认设置)。这使每对容器都能够通过容器名称上的 dns 相互引用,并使升级更容易(您只需交换 db 容器而无需重建 Web 服务器)。
当使用 php 等脚本环境加载应用程序时,通常会将其作为卷安装在 Apache 容器上。