typescript編寫的node應用部署在docker中遇到的問題

問題

  1. 沒法使用pm2,由於pm2會後臺運行,docker做爲容器時,若是無前臺運行的進程,將關閉容器。
  2. 沒法使用pm2-runtime,由於pm2-runtime尚不支持ts-node。

解決方案

方案1:使用 ts-node 跳過pm2直接運行項目
方案2:使用 tsc 把ts編譯爲js,再使用pm2運行項目
方案3:從新編譯pm2-runtime,增長其支持ts的能力node

方案1的作法,是比較可取的,由於咱們使用docker做爲容器,其自己就具備自動重啓等特色,因此再增長pm2對進程進行保護是多餘的,且存在性能損耗。docker

方案2須要改動項目的配置,在測試環境和本地開發環境不使用docker,則須要作兼容,改動較大,且因爲方案1的存在,該方案性價比較低。性能

方案3,性價比更低。測試

相關文章
相關標籤/搜索