web-dev-qa-db-ja.com

Dockerコンテナでノードを永久に起動中にエラーが発生しました

dockerコンテナで永続的にノードを起動すると問題が発生します。手動で起動すると、代わりにDockerfileで同じコマンドを起動して、コンテナをビルドして起動すると終了します。コマンドはbashで機能します:

docker run -it container_name bash forever start -c 'node --harmony' /my/path/app.js

Dockerfileにコマンドを入れようとしましたが、コンテナが起動しません

CMD forever start -c 'node --harmony' /my/path/app.js
15
hellb0y77

Googleグループディスカッション

Forever start script.jsはバックグラウンドで実行されます。フォアグラウンドでforeverを実行するには、forever script.jsを試してください。

これは、Dockerが必要とするフォアグラウンドで永遠に始まります。コンテナは、CMDで定義されたプロセスが稼働している間だけ「生きている」ことを忘れないでください。永久にデーモンとして起動するため、コマンド自体が終了し、dockerも終了します。

CMD forever -c 'node --harmony' /my/path/app.js
28
Eric Francis

Dockerでforeverを使用しようとしています。これは機能します:

CMD ["forever", "src/app.js"]
1
Bruce Lee

配列構文を使用してみてください。

CMD ["forever", "start", "-c", "node --harmony", "/my/path/app.js"]
1
Peter Lyons

Dockerfileを入れてください:

CMD forever app.js
0
MaximeF