docker-compose.yml文件多个分站问题

 静心-苑 发布于 2022-10-25 18:19

正在摸索用docker运行LNMP环境,有个问题不是很清楚,
假设有两个分站,
aaa.xxxxxxx.com
bbb.xxxxxxx.com
对应有两个project文件夹,分别是project-a,project-b,
两个文件夹中分别有自己的docker-compose.yml文件,里面分别定义了nginx+php+mysql的一些东西。
问题:
在两个文件夹中分别执行docker-compose up的时候,nginx+php+mysql是运行了两份,还是一份呢?
如果运行两份,那不是很占空间吗,当有N个分站的时候,那可咋办?

1 个回答
  • 一个项目目录中的 docker-compose.yml 对应一套 Nginx + PHP + MySQL。如果你分别在各自目录中 docker-compose up -d 了两次,那么这就是两套。

    是的,如果你这么去分多个站,会浪费大量的内存空间,特别是 MySQL,因为有大量的重复。

    Docker虽然轻量级,但是并不意味着可以去除重复内存占用,不会帮你压缩内存空间。

    你这样的做法是绝对的隔离,让各站直接绝无交叉,从安全性来说很好,但是这种隔离就意味着多重副本。你要考虑是否需要这样的隔离。

    或许你需要不以站点视角来看问题,而是以服务视角看问题。你需要的是3个服务,因此一套docker-compose.yml运行三个服务,Nginx, PHP, MySQL。然后多站点的需求,像传统服务器一样,去配置 nginx 以及 mysql 数据库即可。

    2022-10-26 23:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有