您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Docker如何構建php-nginx-alpine鏡像的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
alpine linux為基礎鏡像
docker pull gliderlabs/alpine
alpine linux 鏡像地址
目前最新的tag是3.8版本,鏡像只有4M的大小,非常的精簡。
運行鏡像
docker run -it gliderlabs/alpine
運行后可以看到里面有基本的linux文件系統,這里不做演示,有興趣者可自行嘗試。
安裝php 和 nginx
apk update apk add php7 nginx
接下來,根據自己的需要可以繼續安裝php相關擴展包,或者其他linux擴展包。
搜索擴展包,如php7工具包,可通過以下指令:
# apk search php7
安裝php擴展
復制代碼 代碼如下:
apk add php7-mysqli php7-pdo_mysql php7-mbstring php7-json php7-zlib php7-gd php7-intl php7-session php7-fpm php7-memcached
目錄結構
php7目錄: /etc/php7
nginx目錄: /etc/nginx
啟動php-fpm和nginx
# 先創建pid文件,否則nginx運行不了 mkdir /run/nginx touch /run/nginx/nginxpid # 先運行php,再運行nginx /usr/sbin/php-fpm7 /usr/sbin/nginx
至此,能看到php和nginx正常運行,鏡像環境已經基本完成了。 接下來,可以看看怎么把這個鏡像保存起來。
創建鏡像
另起一個終端,用 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方式構建鏡像】
docker build -t yisonli/php7-nginx-alpine:0.2 .
0.2是本文流程稍作優化后,寫成Dockerfile后build出來的,而且帶啟動腳本。
已上傳到 Docker Hub,可供下載研究。
【給鏡像添加額外的tag標簽】
docker tag 9d9c6030e5e9 test/mytag
感謝各位的閱讀!關于“Docker如何構建php-nginx-alpine鏡像”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。