国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

Docker使用編寫dockerfile啟動node.js應用

2024-09-01 13:56:29
字體:
來源:轉載
供稿:網友

編寫 Dockerfile

以 express 自動創(chuàng)建的目錄為例,目錄結構如下:

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

在項目目錄下新建 Dockerfile 文件

FROM node:10.15MAINTAINER sunhengzhe@foxmail.comCOPY . /app/WORKDIR /appRUN npm install pm2 -gEXPOSE 8003CMD ["pm2-runtime", "ecosystem.config.js"]
  • FROM 指定基礎鏡像為 node 的 10.15 版本(node 官方版本可在此查看)
  • MAINTAINER 說明鏡像的維護者
  • COPY 命令將宿主機的文件拷貝到鏡像中,格式為 COPY [--chown=<user>:<group>] <源路徑>... <目標路徑>,這里將項目目錄下的所有文件都拷貝到鏡像中的 /app 目錄下。如果目標路徑不存在,docker 將自動創(chuàng)建。
  • WORKDIR 用來指定工作目錄,即是 CMD 執(zhí)行所在的目錄。
  • RUN 命令用來執(zhí)行 shell 命令,這里用來安裝 pm2
  • EXPOSE 命令用來 聲明 運行時容器提供服務端口,但要注意運行時并不會開啟這個端口的服務。這個命令主要是幫助使用者理解這個鏡像服務的守護端口,以方便配置映射;另外在使用隨機端口映射時,會自動隨機映射 EXPOSE 的端口
  • CMD 是默認的容器主進程的啟動命令

構建鏡像

在項目目錄下執(zhí)行

docker build -t express-app:v1 .

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

docker images

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

Docker,dockerfile,node.js

運行容器

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 之類的。

執(zhí)行

docker ps

正常展示如下

Docker,dockerfile,node.js

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

進入容器

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

docker exec -it express-app bash

Docker,dockerfile,node.js

-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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 大庆市| 洞头县| 灌云县| 高唐县| 太仆寺旗| 望谟县| 依安县| 黎城县| 托克逊县| 沙坪坝区| 西乡县| 鄄城县| 白玉县| 江华| 河津市| 德庆县| 察雅县| 涪陵区| 岢岚县| 长垣县| 海伦市| 林口县| 长白| 准格尔旗| 安国市| 清丰县| 合江县| 缙云县| 疏附县| 西宁市| 湘乡市| 区。| 大名县| 府谷县| 凤翔县| 横山县| 曲阜市| 汉寿县| 双柏县| 明水县| 湘潭县|