docker配置 PHP運行環(huán)境(windows)

PHP版本:7.2

composer版本:1.6.3

mysql版本:5.7

nginx版本:1.15.0

PHP運行環(huán)境采用laradock工具分別加載nginx、PHP等docker容器鏡像澳淑。

docker版本

采用docker-ce社區(qū)版本樱调,具體版本號如下:

Docker version 18.03.1-ce, build 9ee9f40l

安裝docker

1.從docker store下載鏡像或者軟件需要先登錄军拟,所以先注冊docker賬號注冊地址

(docker賬號的注冊流程會有google的人機驗證郊愧,國內網絡對google相關產品的不友好導致這里注冊是需要翻墻的晓铆。)

2.從docker store下載Docker CE for Windows下載頁面

Docker CE for Windows只支持 64位 的 windows 10專業(yè)版或企業(yè)版

其他版本的windows系統(tǒng)請下載Docker Toolbox

Docker Toolbox 官方文檔

Docker Toolbox 下載地址

3.運行剛下載的安裝包進行安裝

docker for windows 自帶 docker-compose 筷黔,無需單獨安裝

更多安裝細節(jié)可參考官方文檔

注意:

Docker CE for Windows 需要打開系統(tǒng)的Hyper-V功能(在安裝完成后docker會彈窗詢問是否開啟)刊头,同時需要在BIOS中開啟CPU的虛擬化功能黍瞧。如果啟動docker過程中遇到問題可先查看以上兩項是否已開啟。

修改docker鏡像源

使用docker的時候原杂,經常需要從官方獲取鏡像印颤。由于網絡及GFW的原因,拉取鏡像的過程可能會非常耗時穿肄,所以我們需要修改docker鏡像源為國內的源年局。

我們采用DaoCloud提供的鏡像源:

修改方式請參考:DaoCloud文檔

安裝laradock

docker安裝完成后,接下來我們采用laradock搭建基于docker的PHP運行環(huán)境咸产。laradock官方文檔:http://laradock.io

1矢否、在D:\home目錄下,將 laradock 項目代碼克隆到本地

2脑溢、進入到D:\home\laradock目錄僵朗,將env-example重命名為.env

cd laradock cp env-example .env

3、打開.env配置文件屑彻,找到如下配置項验庙,并將其修改為如下配置值:


CHANGE_SOURCE=true

PHP_VERSION=7.2

WORKSPACE_INSTALL_XDEBUG=true

PHP_FPM_INSTALL_XDEBUG=true

MYSQL_VERSION=5.7

WORKSPACE_INSTALL_NODE=false

WORKSPACE_INSTALL_YARN=false

WORKSPACE_INSTALL_NPM_GULP=false

WORKSPACE_INSTALL_NPM_BOWER=false

WORKSPACE_INSTALL_NPM_VUE_CLI=false

4、打開D:\home\laradock\nginx\Dockerfile文件社牲,將:

ARG CHANGE_SOURCE=false

修改為:

ARG CHANGE_SOURCE=true

5粪薛、創(chuàng)建代碼目錄。

在與D:\home\laradock同級目錄下搏恤,創(chuàng)建一個www目錄违寿,目錄結構如下:

home? ? ├── laradock? ? └── www

www即為代碼根目錄。

6熟空、修改宿主主機項目目錄

打開D:\home\laradock\.env配置文件陨界,修改如下配置為:

APP_CODE_PATH_HOST=../www/

這里是設置項目目錄的文件映射,將本地的D:\home\www目錄映射到容器內的項目目錄/var/www

7痛阻、關閉opcache。

打開D:\home\laradock\php-fpm\opcache.ini ,修改如下配置為:

opcache.enable="0"

8腮敌、通過如下命令即可運行容器:

docker-compose up -d nginx

說明:

-d 表示后臺運行

nginx表示運行nginx容器阱当。PHP容器會自動加載,不需要指明

運行后可查看D:\laradock\logs\nginx\error.log文件糜工,里面記錄了錯誤日志

項目運行

1弊添、在D:\home\www目錄下,創(chuàng)建名為demo的項目目錄:

home? ? ├── laradock? ? └── www? ? ? ? └── demo

2捌木、然后在D:\home\www\demo*目錄下油坝,新建 demo.php* 文件:

<?phpechophpinfo();

3、項目代碼準備好后,接下來我們需要添加nginx配置澈圈。打開D:\home\laradock\nginx\sites*目錄彬檀,新建名為 demo.conf* 的nginx配置文件:

server {

? ? listen80;? ?

? ? server_name demo.marser.cn;? ?

? ? root /var/www/demo/;? ?

? ? index index.php index.html index.htm;? ?

? ? location / {

? ? ? ? try_files$uri$uri/ /index.php$is_args$args;? ?

? ? }

? ? location ~ \.php$ {

? ? ? ? try_files $uri /index.php=404;? ? ? ?

? ? ? ? fastcgi_pass php-upstream;? ? ? ?

? ? ? ? fastcgi_index index.php;

????????fastcgi_buffers 16 16k;? ? ? ?

? ? ? ? fastcgi_buffer_size 32k;

? ? ? ? fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

? ? ? ? #fixes timeouts

????????fastcgi_read_timeout 600;? ? ?

? ? ? ? include fastcgi_params;?

? ? }?

? ? access_log? /var/log/nginx/demo/access.log;?

? ? error_log? /var/log/nginx/demo/error.log;

}

說明:

server_name 配置域名

root 配置項目代碼目錄

access_log 配置訪問日志

error_log 配置錯誤日志

以上配置僅供參考,根據業(yè)務情況及時調整瞬女。但access_logerror_log必須配置窍帝,方便排查錯誤。

需要注意的是:root配置項中的/var/www/demo/目錄會自動映射到宿主主機中的 **D:\home\www\demo*目錄诽偷。

4坤学、在D:\home\laradock\logs\nginx*目錄下創(chuàng)建名為 demo* 的目錄來存儲demo項目的nginx訪問日志和錯誤日志。

需要注意的是:/var/log/nginx/demo/會自動映射到宿主主機的D:\home\laradock\logs\nginx\demo目錄报慕。

5深浮、在D:\home\laradock目錄下執(zhí)行如下命令重啟nginx容器:

docker-compose restart nginx

6、最后將配置的域名demo.marser.cn添加到hosts配置中:

127.0.0.1? demo.marser.cn

保存后眠冈,在瀏覽器上訪問http://demo.marser.cn/demo.php即可對項目進行正常訪問飞苇。

數據存儲

mysql、redis等數據存儲工具洋闽,團隊中各成員共用一套開發(fā)環(huán)境玄柠。相關信息稍后添加...

hosts切換工具

windows上采用switchhost小工具

mac上采用Gas Mask小工具

參考文檔

docker-compose命令

dockfile換源后出現的一些問題

apt-get update出現NO_PUBKEY?

運行如下命令,添加公鑰解決:

RUN apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 7EA0A9C3F273FCD8(此處替換成報錯提醒的公鑰)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末诫舅,一起剝皮案震驚了整個濱河市羽利,隨后出現的幾起案子,更是在濱河造成了極大的恐慌刊懈,老刑警劉巖这弧,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異虚汛,居然都是意外死亡匾浪,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門卷哩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛋辈,“玉大人,你說我怎么就攤上這事将谊±淙埽” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵尊浓,是天一觀的道長逞频。 經常有香客問我,道長栋齿,這世上最難降的妖魔是什么苗胀? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任襟诸,我火速辦了婚禮,結果婚禮上基协,老公的妹妹穿的比我還像新娘歌亲。我一直安慰自己,他們只是感情好堡掏,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布应结。 她就那樣靜靜地躺著,像睡著了一般泉唁。 火紅的嫁衣襯著肌膚如雪鹅龄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天亭畜,我揣著相機與錄音扮休,去河邊找鬼。 笑死拴鸵,一個胖子當著我的面吹牛玷坠,可吹牛的內容都是我干的。 我是一名探鬼主播劲藐,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼八堡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了聘芜?” 一聲冷哼從身側響起兄渺,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎汰现,沒想到半個月后挂谍,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡瞎饲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年口叙,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗅战。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡妄田,死狀恐怖,靈堂內的尸體忽然破棺而出驮捍,到底是詐尸還是另有隱情疟呐,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布厌漂,位于F島的核電站,受9級特大地震影響斟珊,放射性物質發(fā)生泄漏苇倡。R本人自食惡果不足惜富纸,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望旨椒。 院中可真熱鬧晓褪,春花似錦、人聲如沸综慎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽示惊。三九已至好港,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間米罚,已是汗流浹背钧汹。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留录择,地道東北人拔莱。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像隘竭,于是被迫代替她去往敵國和親塘秦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355