之前一篇 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

最後修改日期: 2020 年 10 月 16 日