之前一篇 Windows Docker – 現有 Laravel 單一專案 結合 Laradock 步驟 文章將目前Laravel專案結合 Laradock 當作開發環境,若有多個專案想放在一起呢??
參考 Laradock 官網 說明,若是多個 Laravel 專案,則目錄結構會如下 (例如):
# Laradock 並不放在專案中
D:\TEST\Laradock
D:\TEST\lara6
D:\TEST\lara8
下載
# 切換到 D:\TEST 目錄下安裝 Laradock
git clone https://github.com/laradock/laradock.git
複製 .env
# 切換到 laradock 目錄下
# 複製檔案
copy env-example .env
修改 .env (基本上所有的設定都在這,簡單的修改一些設定)
# 這次只修改 Image 的名稱, 為了不與之前的測試相衝突
COMPOSE_PROJECT_NAME=laradock-multiple
修改 C:\Windows\System32\drivers\etc\hosts 檔案,將你專案的 domain 寫入
127.0.0.1 lara6.test
127.0.0.1 lara8.test
建立 web server 設定檔,例如: nginx
# 切換到 laradock 目錄下的 nginx
copy laravel.conf.example lara6.test.conf
copy laravel.conf.example lara8.test.conf
修改 lara6.test.conf
# 修改 server_name 與 root 對應的目錄
server_name lara6.test;
root /var/www/lara6/public;
修改 lara8.test.conf
# 修改 server_name 與 root 對應的目錄
server_name lara8.test;
root /var/www/lara8/public;
執行 docker-compose 建立 container
# 使用 nginx 當伺服器
docker-compose up -d nginx mysql phpmyadmin workspace
測試 lara6.test 與 lara8.test 兩個網站是否正常
測試 mysql
從 Container 中執行 phpmyadmin 或者 直接在瀏覽器中開啟 localhost:8081,注意這邊的伺服器是 mysql 不是 localhost
Larvel 的專案設定 DB_HOST = localhost
# 這邊要改成 localhost
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root