正在摸索用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个分站的时候,那可咋办?
docker-compose.yml
dans un répertoire de projet correspond à un ensemble de Nginx + PHP + MySQL. Si vousdocker-compose up -d
deux fois dans chaque répertoire, alors il y a deux ensembles.Oui, si vous le divisez en plusieurs sites comme celui-ci, cela gaspillera beaucoup d'espace mémoire, notamment MySQL, car il y a beaucoup de duplications.
Bien que Docker soit léger, cela ne signifie pas qu'il peut supprimer l'utilisation de la mémoire en double et ne vous aidera pas à compresser l'espace mémoire.
Ce que vous faites, c'est un isolement absolu, pour qu'il n'y ait pas d'intersection entre les gares. C'est bien du point de vue de la sécurité, mais cet isolement implique des copies multiples. Vous devez vous demander si un tel isolement est nécessaire.
Peut-être devez-vous examiner le problème non pas du point de vue du site, mais du point de vue du service. Ce dont vous avez besoin, c'est de 3 services, donc un ensemble de
docker-compose.yml
exécute trois services, Nginx, PHP et MySQL. Ensuite, pour les besoins multi-sites, configurez simplement la base de données nginx et mysql comme un serveur traditionnel.