ホームページ  >  に質問  >  本文

使用 docker 运行 node 需要使用 pm2吗?

使用 docer 应该尽量遵循 one process per container
但是 node 挂了怎么办?
我尝试在容器内使用 Pm2,但是容器一起来就结束了, docker 容器至少需要保证有一个进程,如果没有就会退出.可是我使用pm2为什么不行呢?
如果不能使用 pm2, docker run restart always 可以解决吗?

世界只因有你世界只因有你2703日前1608

全員に返信(4)返信します

  • 怪我咯

    怪我咯2017-04-26 09:03:09

    docker で pm2 を使用する場合、pm2 コマンドを pm2-docker コマンドに変更して、フォアグラウンドで実行できるようにする必要があります。また、docker で pm2 を使う必要はないと個人的に感じています。node プロセスがハングすると、該当するコンテナも停止してしまうので、docker コンテナを起動するときに、restart=always パラメータを追加して自動的に再起動します

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-26 09:03:09

    以下を参照してください: pm2 公式 Web サイトの docker 統合ドキュメント

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-04-26 09:03:09

    pm2 がフォアグラウンドで実行されていることを確認する必要があります。つまり、dockerfile の CMD または ENTRYPOINT で開始されたプロセスはデーモン モードで実行できません

    返事
    0
  • 某草草

    某草草2017-04-26 09:03:09

    コンテナーの実行時に使用する CPU コアの数を指定できます。コアを 1 つだけ割り当てる場合、CPU の基本的なスケジューリング単位は 1 つのコアのみであるため、複数の Node.js プロセスを起動する必要はありません。 1 つの Node.js プロセスを実行できることを意味します

    返事
    0
  • キャンセル返事