-
-
分類: 軟體文章
運作環境:
-
macbook air 2020 (x86)
-
macOS Big Sur 11.2.2
安裝流程:
-
下載、安裝 Docker Desktop
網址:https://hub.docker.com/editions/community/docker-ce-desktop-mac
-
clone laradock 專案在自己的家目錄下
cd ~/
git clone https://github.com/laradock/laradock.git
-
從範例檔案複製一份作為環境設定(.env)
cd Laradock
cp env-example .env
-
編輯「Laradock/.env」檔案,透過關鍵字搜尋跳轉各設定區塊,注意點有:
Paths 部分:
APP_CODE_PATH_HOST=~/Projects/
(專案存放目錄,上列內容是設定存放在家目錄下的「Projects」資料夾)
PHP Version 部分:
PHP_VERSION=7.4
(設定PHP-FPM container 的PHP 版本,也會影響到Workspace container。撰寫當下是7.3,如果啟動後有改版本記得要重新build 才會生效。)
MYSQL 部分:
MYSQL_ROOT_PASSWORD=root
(up phpmyadmin 之後以root 身份登入時的密碼)
PHP MY ADMIN 部分:
PMA_USER=default
PMA_ROOT_PASSWORD=secret
PHA_PORT=8081
(PHPMyAdmin 的登入埠口)
-
編輯macos 本身的/etc/hosts 檔案,將測試專案網站的網址加在裡面,在瀏覽器輸入測試專案網址時能夠連到container 而不是外部網站
sudo nano /etc/hosts
加入內容:
127.0.0.1 laravel.test
-
啟動需要的 container
docker-compose up -d nginx mysql phpmyadmin
開始下載所需的docker image,同時會下載、啟動 PHP-FPM 及 Workspace container(用 composer、artisan 等指令操作Laravel 專案)
-
透過 PHPMyAdmin 建立 Laravel 專案用資料庫
網址輸入:127.0.0.1:8081,登入資訊如下:
主機:mysql (對應MySQL container)
帳號:root
密碼:root
設定好連線帳號、密碼與資料庫後到資料庫「操作」畫面將編碼與校正變更為「utf8mb4_unicode_ci」
-
建立 Laravel 專案
切換至 workspace container:docker-compose exec workspace bash
進入後會發現路徑在/var/www,對應宿主系統(macos)的「~/Projects」。
用 composer 指令建立Laravel 專案,以 Laravel 8 最新版為例:
composer create-project laravel/laravel laravel.test 8.* --prefer-dist
-
設定Laravel 專案資料庫連線資訊
切換至專案目錄:cd ~/Projects/laravel.test
在 Finder 畫面下按command + shift + . 可顯示隱藏檔案,接著編輯 Laravel 專案「.env」檔案:
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=ffxitoolbox
DB_USERNAME=ffxitoolbox
DB_PASSWORD=ffxitoolbox
-
建立Nginx 站台設定檔
cd ~/Laradock/nginx/sites
cp laravel.conf.example laravel.test.conf(從範例檔案另存一份作為站台設定檔)
編輯上述新增的站台設定檔,其中:
server_name:站台網址,範例如下:
server_name laravel.test;
root:網站檔案目錄(/var/www <-> ~/Projects),記得Laravel 專案的起始目錄是「public」,範例如下:
root /var/www/ffxitoolbox.abokuo.com/public;
error_log:錯誤日誌檔案,建議以網站別命名。範例如下:
error_log /var/log/nginx/ffxitoolbox.abokuo.com_error.log
access_log:存取日誌檔案,建議以網站別命名。範例如下:
access_log /var/log/nginx/ffxitoolbox.abokuo.com_access.log
-
完成以上作業後重新起動各 container:
docker-compose down
docker-compose up -d nginx mysql
然後在瀏覽器輸入Laravel 專案網址,如果能看到Laravel 專案頁面則完成。
-
備考:
重開機後記得要先啟動 Docker Desktop 才能啟動各 container。
常用指令:
docker-compose ps(觀看執行中的各 container 及使用埠口)
docker-compose down(停止執行中的container)
docker-compose exec [container 名] bash(切換至container 內)
docker-compose build [container 名] (更改程式版本時需重新編譯docker image 用,記得先將執行中的container 停止)
參考資料