簡體   English   中英

Docker Compose(LAMP堆棧)的最佳部署策略

[英]Best deployment strategy with docker compose (LAMP stack)

我決定在我的所有項目中開始使用docker,並且對部署方面的最佳實踐感興趣。

如果我有一個本地docker環境,正在運行php-apache,mysql和redis服務,那么部署時的最佳策略是什么? 您是否有用於生產的自定義docker-compose配置,該配置會刪除redis和mysql服務(假設您希望將它們放在自己的專用服務器上)?

有許多可行的方法可以在生產環境中運行PHP容器,因此很難全面回答您的問題。 我將提供一些選擇:

  • 使用諸如Docker Cloud之類的容器托管服務,通過內置的Apache服務托管您的PHP代碼。
  • 使用托管在您自己的服務器上的編排服務(例如SwarmKubernetes )。 您將在此處進行更多設置,但同時也會獲得更多控制權。 也有RancherCodemason這樣的服務使之更容易。
  • 在一台機器上運行docker-compose。 當然,它不是水平可伸縮的,但是如果您只是在開發一個副項目或小型應用程序,則可以在一台服務器上運行所有容器以啟動。

作為數據庫容器的注釋,您可以對數據庫進行容器化,並假設將實際數據放入一個卷中並具有適當的備份系統,則沒有理由說容器不安全。 您可能想從只為數據庫運行一個容器或通過使用托管數據庫服務開始,因為跨多個容器擴展數據庫可能會變得很復雜(但是這里介紹了如何使用MySQL進行操作 )。

我想我會自己回答。

經過更深入的挖掘后,我發現在容器內部署數據庫不是一個好主意。 如果使用群集,則很難在整個系統中維護數據完整性。

看起來大多數人只是單獨托管數據庫,並且只在本地開發環境中對數據庫進行容器化。

因此,對於部署,目前最好的選擇是僅部署已配置的Web服務器以及任何其他無狀態服務器需求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM