by Devin Yang

建立於: 2年前 ( 更新: 1年前 )

如果您是新使用者,建議您改用我的最新環境phpenv。

https://github.com/DevinY/phpenv

以下是舊資料囉
一、首先,您需要有安裝Docker在您的Mac系統,此為必要條件。

二、加入別名到您家目錄的.bash_profile上,以下為採用Dlaravel的Docker Image進行的Laravel installer,
就是執行容器內的laravel installer進行host端的Laravel安裝。

#D-Laravel的laravel installer
alias laravel='docker run --rm -v ${PWD}:/var/www/html -v ~/.dlaravel/cache:/home/dlaravel/.composer/cache -ti deviny/fpm:8.0.3 /home/dlaravel/.composer/vendor/bin/laravel'
#D-Laravel的Project mode簡化指令
alias pj='bash dlaravel/console'

設定別名後,記得要source ~/.bash_profile讓別名生效,如果您使用的為zsh,那麼也可新增到家目錄的~/.zshrc,記更一樣要~/.zshrc。

三、有了上面的bash,我們就可以在系統上不需安裝composer或php就能安裝Laravel囉。
用Docker內的Laravel installer進行Laravel的安裝。

laravel new myapp

四、因為要採用Project模式執行D-Larael,所以我們可以透過git將D-Laravel下載到Laravel的專案中,已這個為例是myapp。

cd myapp
git clone https://github.com/DevinY/dlaravel.git

六、D-Laravel預設並非是專案模式,我們可透過別名pj要求D-Laravel使用專案模式的設定。
在myapp的資料夾內,執行下方命令,只需執行一次即可

pj project



七、之後,我們就能透過up及down來啟用或關閉專案囉。

#啟動容器
pj up
#關閉容器
pj down

八、預設D-Laravel的專案模式會採用隨機連接埠

[+] Running 5/5
⠿ Network myapp_dlaravel_net  Created                                                                                                                                                   3.7s
⠿ Network myapp_default       Created                                                                                                                                                   3.7s
⠿ Container myapp_web_1       Started                                                                                                                                                   6.4s
⠿ Container myapp_db_1        Started                                                                                                                                                   4.2s
⠿ Container myapp_php_1       Started                                                                                                                                                   7.0s
Do no thing
DB:
host:56264
Web:
http://myapp.test:56266
Password:
127.0.0.1 myapp.test

九、如果您想讓Project模式固定使用port 8080,只需調整D-Laravel中的docker-compose.yml即可。

vi  dlaravel/docker-compose.yml

在docker-compose.yml檔案中,補上原"80"調整為"8080:80",在存檔離開,左邊的host port只要不衝突,在範圖內您可以隨意調整您要的連接埠。

version: '3.6'
services:
#=== web service ======================
web:
image: nginx
dns: 8.8.8.8
ports:
- "8080:80"
- "443"
volumes:
==略==

十一、重啟容器看看

pj restart

十二、如果您是D-Laravel的使用者,就猜到了吧,pj就是console的bash。
因此,我們可以用pj info查看,就跟我們之前用./console info查看的意思一樣。

pj info
D-Laravel is running in project mode.
/Users/devin/myapp/dlaravel/docker-compose-project.yml
DB:
host:56602
Web:
http://myapp.test:8080

可以看到,myapp的連接埠,變為8080啦。
 

Tags: laravel docker

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!