環境
- Ubuntu 18.04.1 LTS
 
安裝 Docker
更新 apt 套件工具。
1  | sudo apt-get update  | 
安裝以下套件讓 apt 可以透過 HTTPS 使用倉庫。
1  | sudo apt-get install \  | 
加入 Docker 的公開金鑰。
1  | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -  | 
進行驗證。
1  | sudo apt-key fingerprint 0EBFCD88  | 
添加 stable 倉庫。
1  | sudo add-apt-repository \  | 
安裝 Docker CE
1  | sudo apt-get install docker-ce docker-ce-cli containerd.io  | 
查看 Docker 版本。
1  | docker -v  | 
將目前使用者加進 docker 群組。
1  | sudo gpasswd -a ${USER} docker  | 
- 需要重新登入。
 
安裝 Docker Compose
下載執行檔。
1  | sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose  | 
設定權限。
1  | sudo chmod +x /usr/local/bin/docker-compose  | 
- 參數 
+x代表給予所有人執行的權限。 
查看 Docker Compose 版本。
1  | docker-compose -v  | 
安裝 PHP
安裝 PHP 及擴充套件。
1  | sudo apt-get install php php-cli php-mbstring php-xml  | 
查看 PHP 版本
1  | php --version  | 
安裝相關套件
安裝 Git 及相關套件。
1  | sudo apt-get install curl git unzip  | 
查看 Git 版本
1  | git --version  | 
安裝 Laradock
從 GitHub 上將 Laradock 下載下來。
1  | git clone https://github.com/Laradock/laradock.git Laradock  | 
複製範本 env-example 檔作為設定檔。
1  | cd ~/Laradock && cp env-example .env  | 
修改 .env 檔的 APP_CODE_PATH_HOST 參數到指定的映射路徑:
1  | APP_CODE_PATH_HOST=~/Projects  | 
使用 docker-compose 啟動 Laradock。
1  | cd ~/Laradock && docker-compose up -d nginx mysql phpmyadmin  | 
安裝 Composer
下載 Composer 並安裝。
1  | cd ~  | 
- 正確 
HASH值,見 https://composer.github.io/pubkeys.html 
查看 Composer 版本。
1  | composer --version  | 
安裝 Laravel 安裝器
使用 Composer 安裝。
1  | composer global require laravel/installer  | 
查看 Laravel 安裝器版本。
1  | laravel --version  | 
建立專案
建立專案根目錄。
1  | mkdir ~/Projects  | 
建立 Laravel 專案。
1  | cd ~/Projects && laravel new laravel  | 
設定 Nginx
複製範本 laravel.conf.example 檔作為設定檔。
1  | cd ~/Laradock/nginx/sites && cp laravel.conf.example laravel.conf  | 
修改 laravel.conf 檔的 server_name 和 root 參數:
1  | server_name *.amazonaws.com;  | 
重啟 Nginx 服務。
1  | cd ~/Laradock && docker-compose restart nginx  | 
設定 MySQL
修改 mysql\my.cnf 檔:
1  | [mysqld]  | 
重新建立 MySQL 容器:
1  | docker-compose build --no-cache mysql  | 
進入 MySQL 容器。
1  | docker-compose exec mysql bash  | 
使用 root 使用者進入資料庫。
1  | # mysql -uroot -proot  | 
查看所有使用者。
1  | > SELECT user,authentication_string,plugin,host FROM mysql.user;  | 
刪除預設使用者。
1  | DROP USER 'default'@'%';  | 
新增使用者,並設定權限。
1  | > CREATE USER 'ubuntu'@'%' IDENTIFIED WITH mysql_native_password BY 'password';  | 
使用 ubuntu 使用者進入資料庫。
1  | mysql -u ubuntu -p  | 
新增 homestead 資料庫。
1  | > CREATE DATABASE `homestead`;  | 
瀏覽網頁
前往 https://xxx.compute.amazonaws.com 瀏覽。
設定相關權限
進到 workspace 容器。
1  | docker-compose exec workspace bash  | 
修改 storage 資料夾的權限。
1  | chown -R laradock:www-data storage  | 
正式環境
複製範本 docker-compose.yml 檔作為設定檔,刪減內容並移除資料庫的 port。
1  | cp docker-compose.yml production-docker-compose.yml  | 
使用 docker-compose 啟動 Laradock。
1  | docker-compose -f production-docker-compose.yml up -d nginx mysql phpmyadmin  |