Docker最全教程之使用PHP搭建個(gè)人博客站點(diǎn)(二十二)


目錄

官方鏡像?

編寫簡(jiǎn)單的Hello world!

1. 編寫Hello world!?

2. 編寫Dockerfile?

3. 構(gòu)建并運(yùn)行?

4. 直接使用PHP Docker鏡像運(yùn)行PHP腳本?

構(gòu)建自己的WordPress鏡像用于搭建個(gè)人博客站點(diǎn)?

1. 準(zhǔn)備MySQL數(shù)據(jù)庫?

2. 跑起來?

修改PHP的文件上傳大小限制?

1. 修改Dockerfile睁本,構(gòu)建自己的鏡像?

2. 通過“-v”參數(shù)將容器內(nèi)指定路徑映射到主機(jī)目錄的自定義的配置文件?

3. 通過“exec”命令進(jìn)入容器內(nèi)部修改相關(guān)配置?


PHP(全名:PHP: Hypertext Preprocessor)是一種通用開源腳本語言队丝。語法吸收了C語言、Java和Perl的特點(diǎn)腹缩,利于學(xué)習(xí)屿聋,使用廣泛,主要適用于Web開發(fā)領(lǐng)域藏鹊。PHP 獨(dú)特的語法混合了C润讥、Java、Perl以及PHP自創(chuàng)的語法盘寡。它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁楚殿。用PHP做出的動(dòng)態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)文檔中去執(zhí)行竿痰,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多脆粥;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行影涉,使代碼運(yùn)行更快变隔。


官方鏡像

官方鏡像地址:https://hub.docker.com/_/php

編寫簡(jiǎn)單的Hello world!

1. 編寫Hello world!

代碼及其簡(jiǎn)單蟹倾,如下所示:


2. 編寫Dockerfile

Dockerfile文件如下所示:

#鏡像版本見:https://hub.docker.com/_/phpFROM php:7.3-cli-alpine3.9COPY . /usr/src/myapp

WORKDIR /usr/src/myapp

#運(yùn)行php腳本

CMD [ "php","./test.php"]

這里之所以選擇了alpine的鏡像匣缘,主要是體積更胁痢:

3. 構(gòu)建并運(yùn)行

構(gòu)建命令如下所示:

docker build --rm -f"dockerfile"-t phptest1:latest .

運(yùn)行:

4. 直接使用PHP Docker鏡像運(yùn)行PHP腳本

在日常開發(fā)中,如果我們只是編寫簡(jiǎn)單的PHP腳本用于簡(jiǎn)單的實(shí)踐肌厨,那么我們完全可以

直接使用PHP Docker鏡像來運(yùn)行PHP腳本培慌,避免反復(fù)的構(gòu)建過程,從而加速開發(fā):

運(yùn)行命令參數(shù)說明大家可以回顧前面的內(nèi)容柑爸,以上命令主體操作如下:

1)運(yùn)行php最新鏡像吵护,運(yùn)行完成后自動(dòng)刪除容器。其中“-it”等同于“-ti”等同于“-i -t”竖配,也就是讓容器的標(biāo)準(zhǔn)輸入保持打開何址,然后分配一個(gè)偽終端并綁定到容器的標(biāo)準(zhǔn)輸入上;

2)容器名稱為“php-running-script”进胯;

3)將主機(jī)目錄“D:\temp\php”加載為數(shù)據(jù)卷用爪,映射到容器內(nèi)目錄“/usr/src/myapp”。關(guān)于數(shù)據(jù)卷的相關(guān)講解胁镐,我們?cè)诤罄m(xù)的章節(jié)會(huì)結(jié)合相關(guān)實(shí)踐進(jìn)一步講解偎血;

4)指定工作目錄“/usr/src/myapp”;

5)執(zhí)行PHP腳本“test.php”。


構(gòu)建自己的WordPress鏡像用于搭建個(gè)人博客站點(diǎn)

WordPress是使用PHP語言開發(fā)的博客平臺(tái)盯漂,用戶可以在支持PHP和MySQL數(shù)據(jù)庫的服務(wù)器上架設(shè)屬于自己的網(wǎng)站颇玷。也可以把 WordPress當(dāng)作一個(gè)內(nèi)容管理系統(tǒng)(CMS)來使用。

WordPress是一款個(gè)人博客系統(tǒng)就缆,并逐步演化成一款內(nèi)容管理系統(tǒng)軟件帖渠,它是使用PHP語言和MySQL數(shù)據(jù)庫開發(fā)的,用戶可以在支持 PHP 和 MySQL數(shù)據(jù)庫的服務(wù)器上使用自己的博客竭宰。

WordPress官方鏡像地址為:https://hub.docker.com/_/wordpress


接下來空郊,我們就基于官方鏡像開始搭建。

1.準(zhǔn)備MySQL數(shù)據(jù)庫

我們先需要準(zhǔn)備一個(gè)MySQl數(shù)據(jù)庫切揭,大家可以使用現(xiàn)成的MySQL數(shù)據(jù)庫狞甚,也可以參考數(shù)據(jù)庫容器化的相關(guān)章節(jié)來進(jìn)行搭建。

參考命令如下所示:

docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456-p3306:3306-d mysql

注意:MySQL容器創(chuàng)建完成后廓旬,需要對(duì)root賬號(hào)進(jìn)行設(shè)置才能夠通過數(shù)據(jù)庫連接訪問MySQL哼审,具體見數(shù)據(jù)庫容器化相關(guān)章節(jié)。

2.跑起來

接下來孕豹,我們就可以運(yùn)行WordPress鏡像了涩盾,參考命令如下所示:

如上述命令,我們基于WordPressWordPress鏡像創(chuàng)建了一個(gè)名為myblog的容器巩步,外部端口為3000旁赊,容器端口為80。然后使用“--link”參數(shù)將該容器和mysql容器(上一步創(chuàng)建的MySQL容器)建立了鏈接椅野,是其能否訪問mysql容器终畅,并且建立了別名wordpressdb籍胯。接下來,通過環(huán)境變量設(shè)置了WordPress的MySQL的一些參數(shù)离福,比如數(shù)據(jù)庫服務(wù)器杖狼、密碼、庫名稱妖爷。運(yùn)行結(jié)果如下圖所示:

接下來蝶涩,我們?cè)L問我們的博客網(wǎng)址“http://localhost:3000/”試試:

經(jīng)過一些簡(jiǎn)單設(shè)置,我們又為WordPress添加了一個(gè)即將關(guān)站的博客站:



修改PHP的文件上傳大小限制

基于Docker運(yùn)行PHP應(yīng)用絮识,經(jīng)常會(huì)遇到文件上傳大小限制的問題绿聘。比如剛剛部署的WordPress個(gè)人博客站點(diǎn),如果我們上傳一些個(gè)人主題次舌,很容易就突破了PHP的文件上傳大小限制(默認(rèn)2M熄攘,對(duì)應(yīng)設(shè)置key為“upload_max_filesize”),這時(shí)我們有以下方式進(jìn)行處理:

1.修改Dockerfile彼念,構(gòu)建自己的鏡像

使用自己的php配置文件(php.ini)替換默認(rèn)的php配置文件挪圾。如基于wordpress鏡像構(gòu)建自己的鏡像,添加類似于“COPY ./config/php.ini /usr/local/etc/php/conf.d/”的復(fù)制命令逐沙。

2.通過“-v”參數(shù)將容器內(nèi)指定路徑映射到主機(jī)目錄的自定義的配置文件

例如“-v d:/tmp/php/php.ini:/usr/local/etc/php/conf.d/uploads.ini”哲思。

3.通過“exec”命令進(jìn)入容器內(nèi)部修改相關(guān)配置

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市吩案,隨后出現(xiàn)的幾起案子棚赔,更是在濱河造成了極大的恐慌,老刑警劉巖徘郭,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件忆嗜,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡崎岂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門闪湾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來冲甘,“玉大人,你說我怎么就攤上這事途样〗迹” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵何暇,是天一觀的道長(zhǎng)陶夜。 經(jīng)常有香客問我,道長(zhǎng)裆站,這世上最難降的妖魔是什么条辟? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任黔夭,我火速辦了婚禮,結(jié)果婚禮上羽嫡,老公的妹妹穿的比我還像新娘本姥。我一直安慰自己,他們只是感情好杭棵,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布婚惫。 她就那樣靜靜地躺著,像睡著了一般魂爪。 火紅的嫁衣襯著肌膚如雪先舷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天滓侍,我揣著相機(jī)與錄音蒋川,去河邊找鬼。 笑死粗井,一個(gè)胖子當(dāng)著我的面吹牛尔破,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播浇衬,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼懒构,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了耘擂?” 一聲冷哼從身側(cè)響起胆剧,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎醉冤,沒想到半個(gè)月后秩霍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚁阳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年铃绒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片螺捐。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡颠悬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出定血,到底是詐尸還是另有隱情赔癌,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布澜沟,位于F島的核電站灾票,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏茫虽。R本人自食惡果不足惜刊苍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一既们、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧班缰,春花似錦贤壁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至莹妒,卻和暖如春名船,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背旨怠。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工渠驼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鉴腻。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓迷扇,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親爽哎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蜓席,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容