最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Dockerfile文件部署php項(xiàng)目的全過程

 更新時(shí)間:2022年07月11日 12:33:15   作者:碼農(nóng)@cj  
環(huán)境部署一直是一個(gè)很大的問題,無論是開發(fā)環(huán)境還是生產(chǎn)環(huán)境,但是Docker將開發(fā)環(huán)境和生產(chǎn)環(huán)境以輕量級方式打包,提供了一致的環(huán)境,下面這篇文章主要給大家介紹了關(guān)于利用Dockerfile文件部署php項(xiàng)目的相關(guān)資料,需要的朋友可以參考下

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

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

 nginx.conf文件

二、創(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í)啟動應(yīng)用
# php-fpm7.4 -D : 啟動fpm并在后臺運(yùn)行
# nginx -g 'daemon off;' : 啟動nginx, 前臺執(zhí)行, 并保持進(jìn)程常駐, 避免docker容器啟動后就自動關(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文件所在目錄, 如果是相對路徑,則從當(dāng)前目錄下查找
# -t 重新指定鏡像的名稱和標(biāo)簽  <name>:<tag>

四、使用鏡像文件,并啟動容器

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

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

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

五、連接已啟動的鏡像容器

# 查看正在運(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)的問題

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

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

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

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

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

八、鏡像倉庫地址  

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

命令拉取鏡像:

docker pull freedomx20/nginx-fpm7.4:1.0

docker鏡像倉庫:

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

https://hub.docker.com/r/freedomx20/nginx-fpm7.4

總結(jié)

到此這篇關(guān)于利用Dockerfile文件部署php項(xiàng)目的文章就介紹到這了,更多相關(guān)Dockerfile文件部署php內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PHP操作XML中XPath的應(yīng)用示例

    PHP操作XML中XPath的應(yīng)用示例

    這篇文章主要介紹了PHP操作XML中XPath的應(yīng)用,結(jié)合實(shí)例形式分析了php使用XPath進(jìn)行xml節(jié)點(diǎn)查詢的相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • KindEditor在php環(huán)境下上傳圖片功能集成的方法示例

    KindEditor在php環(huán)境下上傳圖片功能集成的方法示例

    這篇文章主要介紹了PHP環(huán)境下如何實(shí)現(xiàn)使用KindEditor編輯器上傳圖片,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • PHP abstract 抽象類定義與用法示例

    PHP abstract 抽象類定義與用法示例

    這篇文章主要介紹了PHP abstract 抽象類定義與用法,結(jié)合實(shí)例形式分析了php定義abstract抽象類以及繼承抽象類等具體使用技巧,需要的朋友可以參考下
    2018-05-05
  • PHP商品秒殺問題解決方案實(shí)例詳解【mysql與redis】

    PHP商品秒殺問題解決方案實(shí)例詳解【mysql與redis】

    這篇文章主要介紹了PHP商品秒殺問題解決方案,結(jié)合實(shí)例形式詳細(xì)分析了php結(jié)合mysql與redis實(shí)現(xiàn)商品秒殺功能的相關(guān)操作技巧及注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • php自定義類fsocket模擬post或get請求的方法

    php自定義類fsocket模擬post或get請求的方法

    這篇文章主要介紹了php自定義類fsocket模擬post或get請求的方法,涉及php使用socket模擬post及get請求的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • 解析數(shù)組非數(shù)字鍵名引號的必要性

    解析數(shù)組非數(shù)字鍵名引號的必要性

    以下是對數(shù)組非數(shù)字鍵名引號的必要性進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • php獲取服務(wù)器操作系統(tǒng)相關(guān)信息的方法

    php獲取服務(wù)器操作系統(tǒng)相關(guān)信息的方法

    這篇文章主要介紹了php獲取服務(wù)器操作系統(tǒng)相關(guān)信息的方法,涉及php針對服務(wù)器端預(yù)定義變量及系統(tǒng)函數(shù)的使用技巧,需要的朋友可以參考下
    2016-10-10
  • PHP正則匹配到2個(gè)字符串之間的內(nèi)容方法

    PHP正則匹配到2個(gè)字符串之間的內(nèi)容方法

    今天小編就為大家分享一篇PHP正則匹配到2個(gè)字符串之間的內(nèi)容方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • PHP如何優(yōu)化冗余代碼

    PHP如何優(yōu)化冗余代碼

    在編程中,代碼的冗余是一個(gè)常見的問題,不僅增加了代碼的復(fù)雜性,還降低了可讀性和可維護(hù)性,本文將探討如何有效地減少PHP代碼的冗余,希望對大家有所幫助
    2024-11-11
  • 如何批量替換相對地址為絕對地址(利用bat批處理實(shí)現(xiàn))

    如何批量替換相對地址為絕對地址(利用bat批處理實(shí)現(xiàn))

    你的url鏈接是相對路徑你想把他批量替換成絕對路徑該怎么做呢?下面與大家分享下具體的實(shí)現(xiàn)思路及代碼,只需點(diǎn)擊bat文件,全部頁面里的相對地址就會變成絕對地址了
    2013-05-05

最新評論

漳州市| 正宁县| 封丘县| 丰台区| 察雅县| 茶陵县| 古浪县| 曲靖市| 桂东县| 四川省| 孟连| 康马县| 全州县| 余江县| 勐海县| 三河市| 辉县市| 雷州市| 藁城市| 衡水市| 高雄县| 桐庐县| 克山县| 山西省| 叙永县| 长兴县| 微博| 宁强县| 松滋市| 象山县| 高台县| 济南市| 赤水市| 乌兰浩特市| 梁河县| 阆中市| 德阳市| 台中市| 田东县| 陕西省| 斗六市|