佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Docker從零構(gòu)建php-nginx-alpine鏡像的方法

Docker從零構(gòu)建php-nginx-alpine鏡像的方法

熱門標簽:智能手機 使用U盤裝系統(tǒng) 美圖手機 百度競價點擊價格的計算公式 硅谷的囚徒呼叫中心 阿里云 網(wǎng)站建設(shè) 檢查注冊表項

雖然之前也曾用docker環(huán)境運行了一些項目,但對于鏡像這塊還不是很理解,且鑒于網(wǎng)上現(xiàn)成的鏡像都包含太多用不到的庫,所以決定從零開始構(gòu)建一個自己的鏡像。

alpine linux為基礎(chǔ)鏡像

docker pull gliderlabs/alpine

alpine linux 鏡像地址

目前最新的tag是3.8版本,鏡像只有4M的大小,非常的精簡。

運行鏡像

docker run -it gliderlabs/alpine

運行后可以看到里面有基本的linux文件系統(tǒng),這里不做演示,有興趣者可自行嘗試。

安裝php 和 nginx

apk update
apk add php7 nginx

接下來,根據(jù)自己的需要可以繼續(xù)安裝php相關(guān)擴展包,或者其他linux擴展包。

搜索擴展包,如php7工具包,可通過以下指令:

# apk search php7

安裝php擴展

復(fù)制代碼 代碼如下:
apk add php7-mysqli php7-pdo_mysql php7-mbstring php7-json php7-zlib php7-gd php7-intl php7-session php7-fpm php7-memcached

目錄結(jié)構(gòu)

  • php7目錄: /etc/php7
  • nginx目錄: /etc/nginx

啟動php-fpm和nginx

# 先創(chuàng)建pid文件,否則nginx運行不了
mkdir /run/nginx 
touch /run/nginx/nginxpid

# 先運行php,再運行nginx
/usr/sbin/php-fpm7
/usr/sbin/nginx

至此,能看到php和nginx正常運行,鏡像環(huán)境已經(jīng)基本完成了。 接下來,可以看看怎么把這個鏡像保存起來。

創(chuàng)建鏡像

另起一個終端,用 docker ps查看鏡像ID,如下指令可以保存鏡像:

docker commit -a "yisonli" -m "my first php7-nginx" 9d9c6030e5e9 yisonli/php7-nginx-alpine:0.1

注:9d9c6030e5e9為鏡像ID,yisonli/php7-nginx-alpine為保存的鏡像名,版本定義為0.1

運行新生成的鏡像

綁定8080端口看看效果

docker run -it -p 8080:8080 yisonli/php7-nginx-alpine:0.1

手動啟動php-fpm和nginx后,瀏覽器就可看到效果了。

http://127.0.0.1:8080/index.php

docker補充記錄

【共享文件夾】

docker run -v `pwd`/www:/var/www/html -it -p 8080:8080 yisonli/php7-nginx-alpine:0.1

【刪除未運行的容器】

docker rm $(docker ps -a -q)

【用Dockerfile方式構(gòu)建鏡像】

docker build -t yisonli/php7-nginx-alpine:0.2 .

0.2是本文流程稍作優(yōu)化后,寫成Dockerfile后build出來的,而且?guī)幽_本。

 已上傳到 Docker Hub,可供下載研究。

【給鏡像添加額外的tag標簽】

docker tag 9d9c6030e5e9 test/mytag

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。

標簽:煙臺 湖北 通遼 賀州 黃山 山南 湘潭 懷化

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Docker從零構(gòu)建php-nginx-alpine鏡像的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    昭平县| 读书| 仲巴县| 兴宁市| 建平县| 义乌市| 西华县| 唐河县| 陇西县| 桐庐县| 贵港市| 隆昌县| 新邵县| 固始县| 什邡市| 尉犁县| 静乐县| 漳浦县| 曲沃县| 洛扎县| 巨鹿县| 察雅县| 依安县| 科尔| 阿勒泰市| 广昌县| 曲阳县| 汉川市| 白山市| 大庆市| 珲春市| 忻州市| 清远市| 闵行区| 合水县| 神农架林区| 鄂温| 都江堰市| 铅山县| 桦南县| 信宜市|