亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2022-03-31 16:51:15 來源:億速云 閱讀:811 作者:iii 欄目:編程語言

這篇文章主要講解了“Docker怎么編寫dockerfile啟動node.js應用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Docker怎么編寫dockerfile啟動node.js應用”吧!

編寫 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怎么編寫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 之類的。

執行

docker ps

正常展示如下

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

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

進入容器

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

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

感謝各位的閱讀,以上就是“Docker怎么編寫dockerfile啟動node.js應用”的內容了,經過本文的學習后,相信大家對Docker怎么編寫dockerfile啟動node.js應用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卫辉市| 青阳县| 长沙市| 焦作市| 蒲城县| 灵丘县| 朝阳市| 乌审旗| 吴桥县| 罗平县| 平南县| 建昌县| 青海省| 秭归县| 台安县| 定安县| 全州县| 河间市| 天等县| 卢龙县| 东宁县| 长寿区| 从江县| 类乌齐县| 原阳县| 景东| 宁都县| 临高县| 民勤县| 白河县| 宝鸡市| 璧山县| 青岛市| 霍城县| 罗山县| 安义县| 阳原县| 汉沽区| 娄底市| 瑞昌市| 塔城市|