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

使用docker打包項目的完整流程記錄(小白可懂)

 更新時間:2025年04月24日 08:33:26   作者:秋窗7  
這篇文章主要介紹了使用docker打包項目的完整流程,并詳細解釋了Dockerfile、構(gòu)建鏡像和創(chuàng)建容器的步驟,通過實戰(zhàn)項目大家可以掌握基本的Docker打包流程,需要的朋友可以參考下

前言

這并不完全是一個正經(jīng)的教程,而是根據(jù)我的學習經(jīng)驗總結(jié)出來的一個模版,大家可以嘗試一下,權(quán)當了解一下項目打包的流程。

克隆演示項目

我在我的GitHub倉庫里已經(jīng)上傳了演示項目,大家可以使用以下命令克隆到本地:

git clone git@github.com:Yuanyi362102/learn-docker.git
cd learn-docker

編寫Dockerfile文件

Dockerfile文件是用于構(gòu)建鏡像的關(guān)鍵文件,我們在執(zhí)行創(chuàng)建鏡像的指令時,docker會自動尋找指定目錄下的Dockerfile文件,并讀取和執(zhí)行相關(guān)指令。

現(xiàn)在讓我們用VScode打開這個項目,可以看到項目結(jié)構(gòu)如圖所示:

打開Dockerfile文件,查看里面的內(nèi)容如下:

FROM  node:11
ADD . /app
WORKDIR /app
RUN npm install && npm install -g nodemon
CMD nodemon app.js  

簡單解釋一下。

  • FROM語句代表我們要創(chuàng)建的鏡像是基于基礎(chǔ)鏡像Node,版本是11。
  • ADD語句代表將當前項目的根目錄,也就是TEST目錄添加到容器的/app目錄下
  • WORKDIR指定了工作目錄是/app
  • RUN代表在容器創(chuàng)建(對應docker build階段)的過程中執(zhí)行的命令,npm install 意思是安裝項目依賴,npm install -g nodemon 意思是全局安裝nodemon,這個工具可以幫助我們在后續(xù)更新項目代碼后無需重啟容器就能直接看到更改效果。
  • CMD代表在容器運行時執(zhí)行(對應于docker run階段)的命令,意思是運行app.js這個文件

構(gòu)建鏡像

使用下面這行命令構(gòu)建鏡像:

docker build -t my-node-app:v1 .

解釋一下,這條命令的主干其實就是docker build my-nder-app,意思是構(gòu)建一個叫做“my-node-app”的鏡像,-t是可選參數(shù)代表創(chuàng)建tag,即創(chuàng)建標簽,“:v1"代表標簽為"v1”,最后的"."代表Docker會從當前目錄讀取Dockerfile文件。

創(chuàng)建容器

使用下面這行命令來創(chuàng)建容器:

 docker run -p 9564:9000 --name testProject -v path:/app my-node-app:v1

這條指令的核心其實就是docker run my-node-app:v1, “-p"代表port,指定容器的9000端口映射到宿主機的9654端口,”--name"是將創(chuàng)建的鏡像名稱指定為testProject,“-v"指定掛載的數(shù)據(jù)卷volume,”path“是你項目的絕對路徑(根據(jù)你的電腦實際情況而定),”:app"就是將剛才Dockerfile中在容器里創(chuàng)建的app目錄(同時也是工作目錄)映射到數(shù)據(jù)卷,這樣當容器關(guān)閉之后,數(shù)據(jù)就可以保存到本地,同時項目在本地的修改也能即時反饋給容器。

檢驗效果

如果你成功創(chuàng)建容器,你的終端將會輸出如圖所示的回顯信息:

打開docker的桌面客戶端(沒有的話可以去安裝一下,安裝鏈接:Docker官網(wǎng)下載地址),可以看到以下畫面:

點擊鏈接,會跳轉(zhuǎn)到項目地址,你將會看到以下畫面

在地址欄,分別嘗試輸入localhost:9564/sayhellolocalhost:9564/sayok,可以看到如下畫面:

在本地項目里面修改一下項目文件,看是否可以不用重啟容器就生效

再次訪問localhost:9564,會看到返回的信息已經(jīng)改變(如果你沒有在地址欄重新輸入地址,而是在舊頁面中,要點擊瀏覽器刷新按鈕才會更改)。

尾聲

至此,簡單項目打包的流程就結(jié)束了,事實上真正的項目打包肯定會涉及到多個容器,多個容器項目部署又要用到docker-compose相關(guān)的知識

相關(guān)文章

  • Ubuntu16.04Docker的CS模式詳細介紹

    Ubuntu16.04Docker的CS模式詳細介紹

    這篇文章主要介紹了Ubuntu16.04Docker的CS模式詳細介紹的相關(guān)資料,這里對Docker CS模式圖文詳細介紹,需要的朋友可以參考下
    2016-12-12
  • 清理Docker磁盤空間的幾種有效方法

    清理Docker磁盤空間的幾種有效方法

    隨著Docker的廣泛使用,管理Docker占用的磁盤空間變得越來越重要,長時間運行Docker環(huán)境,未使用的容器、鏡像、卷和網(wǎng)絡等會逐漸積累,占用大量磁盤空間,本文將介紹幾種清理Docker磁盤空間的有效方法,需要的朋友可以參考下
    2024-08-08
  • 使用Docker容器化Flask應用的簡單示例

    使用Docker容器化Flask應用的簡單示例

    在當今的軟件開發(fā)中,容器化技術(shù)已經(jīng)變得不可或缺,Docker 作為容器化領(lǐng)域的佼佼者,為開發(fā)者提供了一種高效、便捷的方式來部署和運行應用程序,本文將通過一個簡單的 Flask 應用示例,展示如何使用 Docker 將 Python 應用程序容器化,需要的朋友可以參考下
    2025-09-09
  • Docker查看鏡像的Dockerfile(docker history和docker inspect命令)

    Docker查看鏡像的Dockerfile(docker history和docker inspec

    這篇文章主要給大家介紹了關(guān)于Docker查看鏡像的Dockerfile的相關(guān)資料,文中主要運用的是docker history和docker inspect命令,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-05-05
  • 修改Docker默認存儲路徑的步驟詳解

    修改Docker默認存儲路徑的步驟詳解

    隨著Docker技術(shù)的廣泛應用,它極大地簡化了復雜項目的部署與維護流程,僅憑單一鏡像即可輕松運行,然而,隨著數(shù)據(jù)量不斷增長,Docker的默認數(shù)據(jù)存儲方式可能逐漸成為挑戰(zhàn),本文給大家介紹了如何修改Docker默認存儲路徑,解決系統(tǒng)盤占用90%+問題,需要的朋友可以參考下
    2024-09-09
  • Docker鏡像瘦身之從GB到MB的優(yōu)化實踐教程

    Docker鏡像瘦身之從GB到MB的優(yōu)化實踐教程

    一個未經(jīng)優(yōu)化的?Node.js?應用鏡像可能達到?900MB?以上,而實際上運行該應用只需要幾十MB的資源,這時我們就需要瘦身?Docker?鏡像,下面小編就和大家詳細介紹一下優(yōu)化Docker鏡像大小的技巧吧
    2026-04-04
  • 使用docker容器來構(gòu)建前端項目過程

    使用docker容器來構(gòu)建前端項目過程

    文章介紹了如何使用Docker容器來解決前端項目打包問題,包括構(gòu)建鏡像、設(shè)置環(huán)境變量、加速構(gòu)建過程以及如何將node_modules直接打包到鏡像中,通過這種方式,可以確保每次打包的環(huán)境一致,避免因環(huán)境差異導致的打包失敗
    2026-03-03
  • Docker中Cgroup資源配置的實現(xiàn)

    Docker中Cgroup資源配置的實現(xiàn)

    Cgroup不僅可以限制被namespace?隔離起來的資源,還可以為資源設(shè)置權(quán)重、計算使用量、操控進程啟停等,本文主要介紹了Docker中Cgroup資源配置的實現(xiàn),感興趣的可以了解一下
    2023-09-09
  • 在云服務器上基于docker安裝jenkins的實現(xiàn)步驟

    在云服務器上基于docker安裝jenkins的實現(xiàn)步驟

    本文主要介紹了在云服務器上基于docker安裝jenkins的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • 設(shè)置docker的定時關(guān)閉和啟動方式

    設(shè)置docker的定時關(guān)閉和啟動方式

    文章介紹了在Docker中設(shè)置容器定時關(guān)閉和啟動的兩種方法:使用系統(tǒng)級定時任務(如cron)和使用Docker特定的解決方案,通過配置CronJob、DockerCompose或DockerSwarm,可以實現(xiàn)容器的定時啟動和關(guān)閉
    2024-12-12

最新評論

辉县市| 黄龙县| 广饶县| 玛多县| 沁阳市| 阳东县| 大同县| 防城港市| 荆门市| 昌邑市| 桑植县| 潼关县| 井陉县| 苗栗市| 黄石市| 平南县| 贺兰县| 宣武区| 道孚县| 乌拉特前旗| 突泉县| 新源县| 定陶县| 嵊泗县| 蕉岭县| 凤庆县| 勐海县| 永康市| 大悟县| 阳东县| 大姚县| 泸西县| 丹凤县| 平罗县| 峨山| 白城市| 荣昌县| 商洛市| 汉川市| 庐江县| 丹阳市|