正在摸索用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
がNginx + PHP + MySQLのセットに相当します。それぞれのディレクトリでdocker-compose up -d
を 2 回実行すると、これらは 2 つのセットになります。docker-compose.yml
对应一套 Nginx + PHP + MySQL。如果你分别在各自目录中docker-compose up -d
了两次,那么这就是两套。是的,如果你这么去分多个站,会浪费大量的内存空间,特别是 MySQL,因为有大量的重复。
Docker虽然轻量级,但是并不意味着可以去除重复内存占用,不会帮你压缩内存空间。
你这样的做法是绝对的隔离,让各站直接绝无交叉,从安全性来说很好,但是这种隔离就意味着多重副本。你要考虑是否需要这样的隔离。
或许你需要不以站点视角来看问题,而是以服务视角看问题。你需要的是3个服务,因此一套
はい、このように複数のサイトに分割すると、重複が多いため、特に MySQL などのメモリ空間が無駄になります。 🎜 🎜Docker は軽量ですが、重複したメモリ使用量を削除できるわけではなく、メモリ領域の圧縮にも役立ちません。 🎜 🎜あなたが行っていることは絶対的な分離であり、ステーション間に交差がないことはセキュリティの観点からは良いことですが、この種の分離は複数のコピーを意味します。そのような隔離が必要かどうかを検討する必要があります。 🎜 🎜サイトの観点からではなく、サービスの観点から問題を検討する必要があるかもしれません。必要なのは 3 つのサービスです。つまり、docker-compose.yml
docker-compose.yml
のセットは、Nginx、PHP、および MySQL の 3 つのサービスを実行します。次に、マルチサイトのニーズに合わせて、従来のサーバーのように nginx と mysql データベースを構成するだけです。 🎜