首頁  >  問答  >  主體

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

正在摸索用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个分站的时候,那可咋办?

伊谢尔伦伊谢尔伦2707 天前535

全部回覆(1)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-24 09:13:38

    一個專案目錄中的 docker-compose.yml 对应一套 Nginx + PHP + MySQL。如果你分别在各自目录中 docker-compose up -d 了兩次,那麼這就是兩套。

    是的,如果你這麼去分多個站,會浪費大量的記憶體空間,特別是 MySQL,因為有大量的重複。

    Docker雖然輕量級,但並不代表可以移除重複記憶體佔用,不會幫你壓縮記憶體空間。

    你這樣的做法是絕對的隔離,讓各站直接絕無交叉,從安全性來說很好,但是這種隔離就意味著多重副本。你要考慮是否需要這樣的隔離。

    或許你需要不以站點視角來看問題,而是以服務視角看問題。你需要的是3個服務,因此一套docker-compose.yml運行三個服務,Nginx, PHP, MySQL。然後多站點的需求,像傳統伺服器一樣,去設定 nginx 以及 mysql 資料庫即可。

    回覆
    0
  • 取消回覆