欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

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

克隆演示項(xiàng)目

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

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

編寫Dockerfile文件

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

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

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

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

簡(jiǎn)單解釋一下。

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

構(gòu)建鏡像

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

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

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

創(chuàng)建容器

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

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

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

檢驗(yàn)效果

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

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

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

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

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

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

尾聲

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

相關(guān)文章

  • Docker login和logout的使用

    Docker login和logout的使用

    本文主要介紹了Docker login和logout的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Docker 鏡像、容器、倉(cāng)庫(kù)的概念及應(yīng)用詳解

    Docker 鏡像、容器、倉(cāng)庫(kù)的概念及應(yīng)用詳解

    這篇文章主要介紹了Docker 鏡像、容器、倉(cāng)庫(kù)的概念及應(yīng)用詳解的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • Docker容器時(shí)區(qū)調(diào)整操作

    Docker容器時(shí)區(qū)調(diào)整操作

    這篇文章主要介紹了Docker容器時(shí)區(qū)調(diào)整操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Docker Runc容器生命周期詳細(xì)介紹

    Docker Runc容器生命周期詳細(xì)介紹

    這篇文章主要介紹了Docker Runc容器生命周期詳細(xì)介紹的相關(guān)資料,文章分析runc的容器生命周期的抽象、內(nèi)部實(shí)現(xiàn)以及狀態(tài)轉(zhuǎn)換圖。理解了runc的容器狀態(tài)轉(zhuǎn)換再對(duì)比理解docker client提供的容器操作命令的語(yǔ)義會(huì)更容易些
    2016-12-12
  • Docker?Kill/Pause/Unpause命令使用與區(qū)別小結(jié)

    Docker?Kill/Pause/Unpause命令使用與區(qū)別小結(jié)

    本文詳細(xì)介紹了Docker中的三個(gè)重要命令,kill、pause和unpause,這些命令在管理和操作運(yùn)行中的容器時(shí)非常有用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • docker安裝及docker中nginx配置方法

    docker安裝及docker中nginx配置方法

    這篇文章主要介紹了docker安裝及docker中nginx配置方法,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • Docker部署MinIO鏡像的方法(保姆級(jí)教程)

    Docker部署MinIO鏡像的方法(保姆級(jí)教程)

    本文主要介紹了使用Docker部署MinIO鏡像,包括創(chuàng)建掛載目錄、運(yùn)行MinIO容器的參數(shù)解析、使用Compose運(yùn)行MinIO容器等,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • docker如何部署tomcat應(yīng)用

    docker如何部署tomcat應(yīng)用

    這篇文章主要介紹了docker如何部署tomcat應(yīng)用問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • IDEA部署Docker到WSL2的詳細(xì)過程

    IDEA部署Docker到WSL2的詳細(xì)過程

    這篇文章主要介紹了IDEA 部署 Docker 到 WSL2的過程詳解,本地環(huán)境Windows10+WSL2(Ubuntu),具體操作過程跟隨小編一起看看吧
    2021-07-07
  • Docker拉鏡像報(bào)錯(cuò)error pulling image configuration: unknown blob

    Docker拉鏡像報(bào)錯(cuò)error pulling image configuration:

    這篇文章主要介紹了Docker拉鏡像報(bào)錯(cuò)error pulling image configuration: unknown blob的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評(píng)論