婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Docker使用編寫dockerfile啟動node.js應用

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

熱門標簽:信陽銷售外呼系統招商 coreldraw地圖標注 遼寧電銷平臺外呼系統軟件 營銷電銷機器人招商 物超所值的400電話申請 百應電銷機器人靠譜嗎 菏澤crm外呼系統價格 如何在各種地圖標注自己的地址 申請400電話號碼多少錢

編寫 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 rundocker createdocker 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應用》,本文關鍵詞  Docker,使用,編寫,dockerfile,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Docker使用編寫dockerfile啟動node.js應用》相關的同類信息!
  • 本頁收集關于Docker使用編寫dockerfile啟動node.js應用的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 肇州县| 威信县| 建宁县| 从江县| 河津市| 徐州市| 承德市| 开平市| 汾阳市| 乌恰县| 中西区| 遵化市| 普洱| 同仁县| 马关县| 积石山| 铜鼓县| 达孜县| 乳源| 静海县| 信丰县| 碌曲县| 金溪县| 江口县| 盈江县| 曲水县| 通山县| 淳化县| 叶城县| 四会市| 仙桃市| 达拉特旗| 南和县| 广汉市| 河曲县| 象山县| 屏山县| 奉新县| 丹阳市| 阳春市| 嘉禾县|