Docker – Laradock – 快速安裝筆記
事前
以下示範 Nginx, MySQL, phpMyAdmin, PHP, Laravel
期望的架構
- myProject (這是你自訂的專案名稱)
- www (放置 Laravel 的地方)
- laradock (你的專案需要的 Laradock 相關檔案)
也就是一個專案會配置一個 laradock 路徑,例如
- A – project
- www
- laradock
- B – project
- www
- laradock
這樣劃分的優點是每個專案都有專屬的環境,缺點就是你要寫不同專案就要切換不同的 Laradock。
開始步驟
下載 docker
進入專案資料夾後
1 2 3 |
git clone https://github.com/Laradock/laradock.git |
下載下來的檔案會放在路徑 laradock
建立 www
這是我們準備存放 laravel 的路徑
1 2 3 |
mkdir www |
編輯設定
1 2 3 4 5 |
cd laradock cp env-example .env vim .env |
修改如
1 2 3 4 5 6 |
APP_CODE_PATH_HOST=../www NGINX_HOST_HTTP_PORT=8000 NGINX_HOST_HTTPS_PORT=4430 MYSQL_PORT=3307 |
檢查設定 php my admin
1 2 3 4 5 6 7 8 |
# Credentials/Port: PMA_USER=default PMA_PASSWORD=secret PMA_ROOT_PASSWORD=secret PMA_PORT=8080 |
確認 laradock/.env 關於 MySQL 的相關設定,這些資料我們稍後會用到
1 2 3 4 5 6 7 8 9 10 |
### MYSQL ################################################# MYSQL_VERSION=latest MYSQL_DATABASE=default MYSQL_USER=default MYSQL_PASSWORD=secret MYSQL_PORT=3307 MYSQL_ROOT_PASSWORD=root |
Docker 修改 Nginx 設定
1 2 3 4 |
cp -r nginx/sites/laravel.conf.example nginx/sites/laravel.test.conf vim nginx/sites/laravel.test.conf |
修改為
1 2 3 |
root /var/www/public |
啟動 Docker Image 為 Container
1 2 3 |
docker-compose up -d nginx mysql phpmyadmin |
*停止運行可下指令 docker-compose down
進入工作區域
1 2 3 |
docker-compose exec workspace bash |
在 workspace 內下載 Laravel
注意我們建立的目錄使用 .
1 2 3 4 |
composer create-project laravel/laravel --prefer-dist . exit |
權限修改
1 2 3 4 5 6 7 8 |
docker-compose exec php-fpm id www-data sudo chown -R 1000:1000 www/storage 如果無法寫入,嘗試 cd .. sudo chmod -R 777 www/storage |
嘗試訪問
讓 Laravel 連線 MySQL
1 2 3 4 |
cd www vim .env |
修改如下
1 2 3 4 5 6 7 8 |
DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=default DB_USERNAME=default DB_PASSWORD=secret |
存檔後接著
1 2 3 4 5 |
exit docker-compose exec workspace bash php artisan migrate |
運行資料庫遷移如果正常運作就沒問題囉!
訪問 phpMyAdmin
我們可以使用這項設定進入
1 2 3 4 5 |
server: mysql user: default password: secret |
如果要使用用戶 root 登入,那麼密碼是MySQL 設定中的 “root”。