在 macOS 上建立 Laradock 環境

安裝 Docker

手動安裝 Docker,並註冊帳號。開啟終端機,登入 Docker。

1
docker login
  • 輸入使用者名稱(而非電子郵件)。

安裝 Laradock

從 GitHub 上下載 Laradock 到根目錄。

1
2
3
4
cd ~/
git clone https://github.com/laradock/laradock.git Laradock
cd Laradock
cp env-example .env

修改 .env 檔:

1
APP_CODE_PATH_HOST=~/Projects

啟動 Laradock

建立 laravel.test.conf 檔。

1
2
cd ~/Laradock/nginx/sites
cp laravel.conf.example laravel.test.conf

啟動 Nginx、MySQL 和 PhpMyAdmin。

1
docker-compose up -d nginx mysql phpmyadmin
  • 被 Nginx 依賴的 PHP-FPM 會自動啟動。

建立專案

在容器外建立專案。

1
2
cd ~/Projects
laravel new laravel

修改 Laravel 專案的 .env 檔:

1
2
3
4
5
6
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret

進入 MySQL

修改 mysql\my.cnf 檔:

1
2
[mysqld]
default_authentication_plugin=mysql_native_password

重新建立 MySQL 容器:

1
docker-compose build --no-cache mysql

修改一般使用者的認證方式。

1
2
3
4
docker-compose exec mysql bash
/var/www# mysql --user="root" --password="root"
mysql> ALTER USER 'default' IDENTIFIED WITH mysql_native_password BY 'secret';
mysql> exit

使用一般使用者身分進入。

1
/var/www# mysql --user="default" --password="secret"

建立資料庫。

1
mysql> CREATE DATABASE `default`;

進入容器

進入容器。

1
2
cd ~/Laradock
docker-compose exec workspace bash

執行遷移。

1
2
/var/www# cd laravel
/var/www# php artisan migrate

設定相關權限

進到 workspace 容器。

1
docker-compose exec workspace bash

修改 storage 資料夾的權限。

1
chown -R laradock:www-data storage

註冊虛擬主機別名

1
127.0.0.1 laravel.test

測試

專案首頁:http://laravel.test/
phpMyAdmin 登入畫面:http://localhost:8080/