久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Docker中怎么編寫dockerfile啟動node.js應用

193次閱讀
沒有評論

共計 1644 個字符,預計需要花費 5 分鐘才能閱讀完成。

本文丸趣 TV 小編為大家詳細介紹“Docker 中怎么編寫 dockerfile 啟動 node.js 應用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Docker 中怎么編寫 dockerfile 啟動 node.js 應用”文章能幫助大家解決疑惑,下面跟著丸趣 TV 小編的思路慢慢深入,一起來學習新知識吧。

編寫 dockerfile

以  express  自動創建的目錄為例,目錄結構如下:

├── /bin
│ └── www
├── /node_modules
├── /public
├── /routes
├── /views
├── package-lock.json
├── package.json
├── ecosystem.config.js
├── app.js
└── dockerfile

在項目目錄下新建  dockerfile  文件

from node:10.15
maintainer sunhengzhe@foxmail.com
copy . /app/
workdir /app
run npm install pm2 -g
expose 8003
cmd [pm2-runtime ,  ecosystem.config.js]

from 指定基礎鏡像為 node 的 10.15 版本(node 官方版本可)

maintainer 說明鏡像的維護者

copy 命令將宿主機的文件拷貝到鏡像中,格式為 copy [–chown= user : group] 源路徑 … 目標路徑,這里將項目目錄下的所有文件都拷貝到鏡像中的 /app 目錄下。如果目標路徑不存在,docker 將自動創建。

workdir 用來指定工作目錄,即是 cmd 執行所在的目錄。

run 命令用來執行 shell 命令,這里用來安裝 pm2

expose 命令用來 聲明 運行時容器提供服務端口,但要注意運行時并不會開啟這個端口的服務。這個命令主要是幫助使用者理解這個鏡像服務的守護端口,以方便配置映射;另外在使用隨機端口映射時,會自動隨機映射 expose 的端口

cmd 是默認的容器主進程的啟動命令

構建鏡像

在項目目錄下執行

docker build -t express-app:v1 .

如果構建成功,查看鏡像列表

docker images

應該會輸出鏡像  express-app:v1

運行容器

docker run -d -p 8003:3000 --name= express-app  express-app:v1

docker run  是  docker create  和  docker start  兩個命令的簡寫。

-d  即  –detach,代表讓容器后臺運行。

-p  指定宿主機和容器的端口映射,左邊為宿主機的端口,右邊為容器的端口,也就是說訪問宿主機的 8003 端口,會映射到容器內的 3000 端口。

–name  設置容器別名,如果不指定,docker 會隨機生成一個名字,比如  tender_swirles  之類的。

執行

docker ps

正常展示如下

添加  -a  參數可以查看所有已啟動容器。

進入容器

如果要進入容器進行操作,執行下面命令

docker exec -it express-app bash

-i  與  -t  一般結合使用,-i  啟動交互模式,-t  指定需要分配終端,可以自行嘗試不傳其中一個的效果。

與  exec  類似的還有  attach  命令,命令為  docker attach express-app,但從這個 stdin 中 exit,會導致容器的停止,所以推薦使用  exec  命令。

關閉操作

停止容器

docker stop express-app

刪除容器

docker rm express-app

如果刪除時容器還在運行,需要加上  -f  參數

刪除鏡像

docker rmi express-app:v1

讀到這里,這篇“Docker 中怎么編寫 dockerfile 啟動 node.js 應用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-13發表,共計1644字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 银川市| 泾川县| 高密市| 渭南市| 绵阳市| 房产| 忻城县| 兴山县| 石林| 仙游县| 怀柔区| 井陉县| 杨浦区| 新化县| 新竹县| 波密县| 桂东县| 开原市| 临海市| 崇阳县| 广州市| 南召县| 柞水县| 鹤峰县| 吉木萨尔县| 山东省| 西平县| 江油市| 轮台县| 惠来县| 汉源县| 彭州市| 黄冈市| 云林县| 百色市| 泸定县| 刚察县| 临城县| 山西省| 陇西县| 正镶白旗|