Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Node.js と pm2 を使用して Docker イメージをビルドします。コンテナーを次のように開始しました。
docker run -d --name test -p 22 myImage
次に、次の方法でコンテナー内に入ります。
docker exec -it test /bin/bash
コンテナーで、次のコマンドを実行します。
pm2 list
そして、ここで立ち往生しました:
Ps : CMD pm2 start app.js.Dockerfile
CMD pm2 start app.js
Dockerfile
dockerfile CMD が pm2 コマンドの場合、 --no-daemon arg オプションを含めて、pm2 がフォアグラウンドで実行され、docker コンテナーが引き続き実行されるようにします。
Dockerfile CMD の例:
CMD ["pm2", "start", "app.js", "--no-daemon"]
それ以外の場合、--no-daemon を指定しないと、pm2 はバックグラウンド プロセスとして起動し、docker は pm2 コマンドの実行が完了したと見なして停止します。
https://github.com/Unitech/PM2/issues/259を参照してください。