搜尋

首頁  >  問答  >  主體

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個分站的時候,那可咋辦?

伊谢尔伦伊谢尔伦2777 天前595

全部回覆(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
  • 取消回覆