Contents

laradock架設筆記

Contents

試試用 Docker 來記記 laravel 筆記

  1. 建置 laravel 專案
    composer 建立
1
composer global require "laravel/installer"
1
laravel new blog

1
composer create-project --prefer-dist laravel/laravel blog

沒有安裝 composer 可以直接 git clone 下來

1
git clone http://github.com/laravel/laravel
  1. 建立 laradock 在 laravel 目錄下面
1
git submodule add https://github.com/Laradock/laradock.git
  1. 在 laradocker 目錄下複製範例 example-env,命名為.env
1
cp env-example .env
  1. 執行 docker
1
docker-compose up -d nginx mysql
  1. 設置 laravel 目錄,env 設定 (PS:這邊的 env 跟 docker env 不一樣,不要搞錯了)
1
docker-compose exec workspace bash
1
2
3
4
5
6
$ root@workspace:/var/www# composer install
$ root@workspace:/var/www# cp .env.example .env
$ root@workspace:/var/www# php artisan key:generate
$ root@workspace:/var/www# exit
$root@server:~/laravel/laradock# cd ..
$root@server:~/laravel# sudo chmod -R 777 storage bootstrap/cache
  1. 設定 laravel 裡的.env DB 設定
1
2
3
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret

請參照你的 laradocker DB 帳號、密碼去做設定
127.0.0.1 請改成 mysql or mariadb (依照 DB 選譯)

1
2
3
MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=secret

已經測試過在 play with docker 可以跑了

2019-06-09
使用 MySQL 8.0 由於登入 caching_sha2_password
unable to connect to MySQL after upgrade to latest (8) version · Issue #2043 · laradock/laradock
Documentation - Laradock
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client · Issue #1392 · laradock/laradock

假如 DB 沒限制的話,我推薦改使用 mariaDB
快速解決

參考來源
https://laravel.tw/docs/5.3/installation
http://laradock.io/guides/#set-up-your-laravel-project
不專業網管筆記: [ 練習] 使用 Laradock 建立 Laravel 開發環境 (舊版說明)
t301000.blogspot.com/2017/01/laradock-laravel.html
laradock 数据库连接问题 | Laravel China 社区
Laradock — Laravel + Docker 輕量級環境打造 – Yifan Wu – Medium