Yii2使用官方docker方案
Yii2是擁有自家的docker解決方案的,但是國內(nèi)的資料甚少??赡苁且?yàn)楣俜界R像出的比較晚,國內(nèi)大部分是使用私人的鏡像。其實(shí),官方的鏡像一直在維護(hù),不過名氣不大,dockerhub的下載數(shù)也只有5K+。
優(yōu)點(diǎn)
使用官方鏡像的優(yōu)點(diǎn),肯定就是拿來即用。但是如果跟不上官方程序員的思維估計(jì)也是用不上,因?yàn)楣俜降馁Y料很少,文檔也很簡單基本都是英文。
以下是YII中國的介紹,也是寥寥數(shù)字??戳艘矝]有搞明白。
https://www.yiichina.com/doc/guide/2.0/tutorial-docker
官方鏡像目前在維護(hù)的版本是php 7.4? -- 8.1,省去了調(diào)試php的版本問題。鏡像內(nèi)帶的php插件也是很豐富的,在官方dokcer上還有擴(kuò)展一些常用擴(kuò)展的例子(https://github.com/yiisoft/yii2-docker/blob/master/docs/install-extensions.md)。
簡要使用方法
安裝docker環(huán)境
安裝docker compose。
注意:目前最新版本是V2.6.1(發(fā)布地址:https://github.com/docker/compose/releases)。
a.使用腳本安裝,請(qǐng)務(wù)必修改版本號(hào),不然安裝的是V2.4.1。代碼如下:
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
b.? 授權(quán)執(zhí)行權(quán)限:
sudo chmod +x /usr/local/bin/docker-compose
c.創(chuàng)建軟連接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
d.測(cè)試是否成功
? docker-compose --version
參考地址:https://m.runoob.com/docker/docker-compose.html
準(zhǔn)備好一個(gè)YII2的項(xiàng)目。如圖:

編輯根目錄的docker-compose.yml,這里定義了啟動(dòng)服務(wù)的依賴和先后順序,默認(rèn)是啟動(dòng)
frontend、backend、mysql 三個(gè)服務(wù),請(qǐng)根據(jù)個(gè)人情況進(jìn)行調(diào)節(jié),ports映射端口請(qǐng)自行調(diào)整。
其中build字段指的是服務(wù)構(gòu)建時(shí)Dockerfile文件的目錄,如上圖會(huì)在frontend文件夾內(nèi)找到,默認(rèn)使用的是yiisoftware/yii2-php:7.2-apache,php版本較低,請(qǐng)自行修改(查看鏡像標(biāo)簽地址:https://github.com/yiisoft/yii2-docker)。
4.在當(dāng)前目錄執(zhí)行
docker-compose up -d
執(zhí)行后,會(huì)自行創(chuàng)建出docker-compose.yml上對(duì)應(yīng)的鏡像和運(yùn)行服務(wù)。
5、進(jìn)入鏡像內(nèi)進(jìn)行composer install和php init初始化項(xiàng)目。也可以直接在外層直接初始化。代碼會(huì)被映射到鏡像內(nèi)的/app文件夾。
至此完成。