iT邦幫忙

0

node.js、pm2、docker的問題

  • 分享至 

  • xImage

我之前的經驗是在server上用pm2來部署node.js的程式。而現在是在server上用docker來部署, container裡面包著原本的node.js的程式, 把內外的port對應起來就可以了。但我在想一件事, 有人會在docker裡再包一個pm2來管理nodejs的程式嗎? 如果會的話, 理由或好處是什麼? 謝謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
woeichern
iT邦新手 2 級 ‧ 2023-05-03 09:22:15
最佳解答

樓主原本採用PM2的原因,即是現在容器化後仍採用PM2的原因
主要是能讓Node程序保持執行、自動重啟(不是指Container重啟喔)
可參考:https://ithelp.ithome.com.tw/articles/10220480

有無容器化和是否採用PM2
以我個人意見是沒有直接關係
沒有說用了容器化就一定要用PM2
只能說這是比較常被使用的解決方案

WILL.I.AM iT邦新手 3 級 ‧ 2023-05-03 10:00:25 檢舉

請教一下, 就是一般普遍來講, 是否多數的人會習慣在docker裡再用pm2來管理node程序? 因為本人是.net工程師, 才剛接觸node不久, 不太清楚node界的一些習慣做法, 感恩。

Han iT邦研究生 1 級 ‧ 2023-05-04 10:41:10 檢舉

基本上都是直接在 container 內就啟動 node app.js
而不會再用 pm2 來管理,之前有看到一篇比較不錯的在說明 node 容器架構該如何設計的部落格,推薦可以看一下

https://snyk.io/blog/10-best-practices-to-containerize-nodejs-web-applications-with-docker/

WILL.I.AM iT邦新手 3 級 ‧ 2023-05-05 12:21:38 檢舉

@woeichern, 你說的沒錯, 我會用PM2的理由之一就是為了讓程式即使掛掉後, 它會幫我自動重啟程式, 保持運行。那看來我得在docker裡面再用PM2管理node

我要發表回答

立即登入回答