我在碼頭集裝箱中創建了一個新的Laravel 5應用程序。我可以訪問家庭網址並獲得歡迎消息。我嘗試創建新的路線,他們也在工作。然後我運行一個MariaDB docker容器來鏈接到Laravel 5應用程序。這是問題出現的地方。 當我試圖運行Laravel 5使用以下命令遷移:Laravel 5應用程序無法連接碼頭集裝箱中的MariaDB引擎
php artisan migrate --force
我也得到了以下錯誤消息:
Can't connect to MySQL server on '127.0.0.1'
我.ENV文件是這樣的:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=blog
DB_USERNAME=blog
DB_PASSWORD=123456
我知道Laravel使用這些變量來連接數據庫,因爲它們存在於Laravel日誌文件中,如下所示:
PDO->__construct(‘mysql:127….’, ‘blog’, ‘123456’, Array)
數據庫引擎是MariaDB,它在Docker容器中運行。這個碼頭容器公開端口3306並鏈接到運行Laravel的容器。要鏈接我用下面的泊塢窗命令容器:
docker run –i –t - - link mariadb:mysql miguelbgouveia/laravel:v3 /bin/bash
我也知道,我的MariaDB的碼頭工人,容器與正確的配置運行,因爲我用的是與它的phpmyadmin碼頭工人的容器,我可以用連接成功的數據庫。我將MariaDB容器與phpmyadmin容器鏈接的方式相同,鏈接到Laravel容器(--link mariadb:mysql)
爲什麼我無法連接到數據庫?有沒有配置或PHP模塊安裝缺少?
你的碼頭集裝箱有不同的IP權利? – Hackerman
https://docs.docker.com/articles/networking/ – Hackerman
是@RobertRozas,我的容器有不同的IP。 – miguelbgouveia