環境
- 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 |