背景
運行在Docker容器中的php應用程序。使用docker-compose,這個容器與一個postgres數據庫容器和許多其他容器一起運行在一個配置中。在Docker容器中運行PHPUnit並啓動容器取決於:
試圖在phpstorm中運行我的phpunit測試,我創建了一個運行PHP應用程序容器的Docker Remote Interpreter test configuration。
問題
容器抱怨說,它無法連接到數據庫,這當然是因爲它在docker-compose.yml
配置,而不是與PhpStorm使用單容器一起啓動未啓動。
嘗試解決
- 一個PHP Remote Debug可以使用部署,所以我試圖創建一個Docker Deployment configuration它使用
docker-compose.yml
(因此開始所有容器),併爲launched before PHPUnit的推出,但我不能選擇這部署部署。 - 啓動Docker編寫容器,除了PHP應用程序以外的容器,並將其連接到它。這證明很困難,因爲它們位於不同的網絡中,所以php應用程序容器仍然抱怨沒有找到數據庫。我無法配置其中網絡容器在PhpStorm中使用。
TL;博士
我PhpStorm項目是一個PHP應用程序。此應用程序可以在通過nginx服務的Docker容器中運行。我可以使用運行配置在容器中運行我的PHPUnit測試,但它也需要其他容器,它們不會自動啓動。
問題
如何使用PHPStorm在一個PHP應用程序容器連同它取決於容器(在docker-compose.yml
已經說明)運行PHPUnit測試?
你可以創建一個腳本來啓動組合而不是你的容器? 您也可以在開始工作時啓動數據庫,並且您的容器可以鏈接到它。 –
查看[wait-for](https://github.com/Eficode/wait-for/blob/master/wait-for)腳本,它將在啓動另一個容器之前等待特定容器。 – Ayushya
@WassimDhif我已經創建了這樣一個腳本,但是我不確定如何將PhpStorm中的_PHPUnit_運行配置調整爲運行我的應用程序的特定容器。 –