我正在尋找使用Docker-Compose在Docker上實現symfony應用程序。我將至少有以下容器:在Docker環境中使用Symfony進行生產
- Nginx的
- 的RabbitMQ服務器
- PHP-FPM
- MySQL的
- Solr的
目前我們有使用上述開發環境也設置。
Symfony應用程序存儲在本地(主機),然後在PHP-FPM容器上使用卷,以便它可以讀取應用程序 - 這很好。我們bash
進入php-fpm容器來運行composer/app/console命令。
我們還手動運行使用rabbitmq服務器消息的使用者(Symfony命令)。
我在生產中有哪些選擇?
1)我可以創建一個運行應用程序的容器,然後允許其他容器使用它嗎?我發現php-fpm容器需要訪問應用程序代碼 - 但我還想創建一個容器來運行一個消費者 - 傳遞服務的名稱以運行到容器 - 這意味着我可以擁有一個單一的圖像可以靈活啓動以處理來自任何隊列的消息。日誌/緩存在這個選項中會發生什麼?
2)是否將應用程序存儲在每個需要它的圖像中?這是我最不喜歡的選擇,然後更新我需要構建每個圖像的應用程序
3)我還沒有探索的東西?
我想允許對應用程序進行簡單更新 - 也許是腳本化的,但我也想最大限度地減少停機時間 - 我可以使用haproxy或類似的方法來做到這一點 - 有任何其他人有運行多容器symfony生產中的應用?
我們目前採取的選項號,2 – Matteo
@Matteo你如何執行更新的應用程序泊塢窗,compose.yml的摘錄?某種腳本來重建所有的圖像?並重新啓動容器? – ManseUK
我們使用docker-cloud和github hook重建容器 – Matteo