真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何利用Dockerfile文件部署PHP項(xiàng)目

今天小編給大家分享一下如何利用Dockerfile文件部署PHP項(xiàng)目的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供建湖網(wǎng)站建設(shè)、建湖做網(wǎng)站、建湖網(wǎng)站設(shè)計(jì)、建湖網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、建湖企業(yè)網(wǎng)站模板建站服務(wù),十載建湖做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

如何利用Dockerfile文件部署PHP項(xiàng)目

一、當(dāng)前項(xiàng)目結(jié)構(gòu)

/project_name
|-- /dist          #--- 項(xiàng)目編譯后輸出的目錄
|-- /config        #--- 配置文件目錄
|---|
|---|-- Dockerfile #--- Dockerfile文件
|---|-- nginx.conf #--- nginx配置文件

nginx.conf文件

如何利用Dockerfile文件部署PHP項(xiàng)目

如何利用Dockerfile文件部署PHP項(xiàng)目

二、創(chuàng)建Dockerfile文件

# 從ubuntu鏡像中構(gòu)建應(yīng)用
FROM ubuntu:latest
 
# 設(shè)置鏡像的制作者
MAINTAINER congjiang
 
# 安裝nginx + php-fpm7.4 
 
RUN apt-get update && apt-get upgrade && apt-get install -y nginx php7.4-fpm vim
 
# 上一條命令安裝nginx和fpm
# nginx 默認(rèn)安裝路徑 /etc/nginx/
# php-fpm 默認(rèn)安裝路徑 /etc/php/fpm/
# nginx配置文件存放目錄 /etc/nginx/conf.d/ 
# nginx默認(rèn)項(xiàng)目路徑 /var/www/html/
 
# 在上傳目錄之前,可以先刪除舊項(xiàng)目代碼
# RUN ["rm", "-rf", "/var/www/project_name/"]
 
# 項(xiàng)目文件上傳, 把當(dāng)前目錄下的所有文件上傳到/var/www/project_name目錄下
COPY ./dist/ /var/www/project_name/
 
# 把當(dāng)前項(xiàng)目的nginx.conf配置文件上傳到/etc/nginx/conf.d/目錄下
COPY ./config/nginx.conf /etc/nginx/conf.d/default.conf
 
# 容器運(yùn)行時(shí)啟動(dòng)應(yīng)用
# php-fpm7.4 -D : 啟動(dòng)fpm并在后臺(tái)運(yùn)行
# nginx -g 'daemon off;' : 啟動(dòng)nginx, 前臺(tái)執(zhí)行, 并保持進(jìn)程常駐, 避免docker容器啟動(dòng)后就自動(dòng)關(guān)閉了
CMD php-fpm7.4 -D && nginx -g 'daemon off;'

三、生成鏡像文件

# 在項(xiàng)目project_name目錄下執(zhí)行命令
 
docker build -f config/Dockerfile -t myproject:latest .
 
# 注:  最后的參數(shù)表示路徑,  . : 表示當(dāng)前目錄下
# -f 指定Dockerfile文件所在目錄, 如果是相對(duì)路徑,則從當(dāng)前目錄下查找
# -t 重新指定鏡像的名稱和標(biāo)簽  :

四、使用鏡像文件,并啟動(dòng)容器

# 啟動(dòng)鏡像
 
docker run -itd -p 80:8080 myproject:latest
 
# --name  為啟動(dòng)的容器指定名稱,不指定會(huì)默認(rèn)隨機(jī)一個(gè)名稱
# -p 訪問的端口:鏡像內(nèi)程序的端口
# -d 表示當(dāng)前容器在后臺(tái)運(yùn)行
# -it 指定要啟動(dòng)的鏡像名稱和標(biāo)簽 :
# -v 本地路徑:鏡像內(nèi)的路徑   可以將本地路徑和容器內(nèi)的路徑映射,可以即時(shí)修改文件即時(shí)生效,方便測(cè)試
# -v 命令可以有多條
# --rm 當(dāng)前容器退出后將自動(dòng)刪除
# eg:  -v E:/logs/:/var/logs/nginx/   把nginx的日志文件映射到本地

注: nginx + php-fpm 環(huán)境搭建到這里已經(jīng)完成。

啟動(dòng)運(yùn)行容器后, 打開本地瀏覽器:  http://localhost/  就可以訪問了

五、連接已啟動(dòng)的鏡像容器

# 查看正在運(yùn)行的容器
 
docker ps
 
# CONTAINER ID    IMAGE  ...
# 01f82e69c455    myproject  ...
 
docker exec -it 01f82e69c455 /bin/bash
 
# -it 需要連接的容器的CONTAINER ID
# /bin/bash 當(dāng)前參數(shù)必須的

六、 構(gòu)建項(xiàng)目出現(xiàn)的問題

  • 每次重新構(gòu)建項(xiàng)目,都會(huì)新創(chuàng)建一個(gè)鏡像文件

  • 如果構(gòu)建鏡像文件時(shí),指定的name和標(biāo)簽與原來的鏡像一樣,則原來的鏡像不會(huì)刪除,會(huì)被更名為: 的鏡像文件

# 已找到相關(guān)命令解決上面兩個(gè)問題, 在創(chuàng)建相同名稱的新鏡像文件時(shí),避免舊鏡像殘留
# 可以先刪除舊鏡像文件
 
docker rmi -f :  
# 當(dāng)前命令可以強(qiáng)制刪除指定名稱和tag的鏡像文件

七、刪除容器、刪除鏡像文件

# 刪除運(yùn)行的容器
docker rm -f 
# -f 強(qiáng)制刪除,如果容器正在運(yùn)行也會(huì)被刪除
# -v 刪除當(dāng)前容器掛載的數(shù)據(jù)卷
 
# 刪除所有沒有運(yùn)行的容器
docker rm $(docker ps -a -q)
 
# 刪除本地鏡像文件
docker rmi -f :

八、鏡像倉(cāng)庫(kù)地址

1、ubuntu + nginx + php-fpm7.4 版本的運(yùn)行環(huán)境

命令拉取鏡像:

docker pull freedomx20/nginx-fpm7.4:1.0

docker鏡像倉(cāng)庫(kù):

Docker Hub (ubuntu + nginx + php-fpm7.4 環(huán)境)

以上就是“如何利用Dockerfile文件部署PHP項(xiàng)目”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)頁題目:如何利用Dockerfile文件部署PHP項(xiàng)目
網(wǎng)站鏈接:http://weahome.cn/article/igcjpd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部