2017-07-05 12 views
0

私はすべての私のプロジェクトをDockerizingしており、失敗した場合はスクリプトを再実行するのにforeverというCLIを使います。DockerでCLIを永久に使用するには?

official node.js Docker tutorial私の単純なスクリプトをDockerizeするのに私はもっと複雑なもの(the forever CLIを使用していました)になったときにDockerでCLIを実行する方法がわかりませんでした。

forever CLIまたはthe moduleのいずれかを使用して、これを可能にする方法はありますか?

+0

なぜあなたは 'pm2'を試してみませんか –

+4

これは特に' '--restart always'(https://docs.docker.com/engine/admin/start-コンテナ - 自動的に/)。 –

+0

@Niraj Dockerを使用したいと思っています。 – skiilaa

答えて

1

Oliverさんのコメントは、実際には有効な答えだと思います。プロセスをDockerコンテナとして実行する場合、foreverが処理するメカニズムが既に用意されています。

foreverアクションを超える迅速な光沢が、それは実際にすでにドッカーのようなビットに見えることが明らかになった:

actions: 
    start    Start SCRIPT as a daemon 
    stop    Stop the daemon SCRIPT by Id|Uid|Pid|Index|Script 
    stopall    Stop all running forever scripts 
    restart    Restart the daemon SCRIPT 
    restartall   Restart all running forever scripts 
    list    List all running forever scripts 
    config    Lists all forever user configuration 
    set <key> <val>  Sets the specified forever config <key> 
    clear <key>   Clears the specified forever config <key> 
    logs    Lists log files for all forever processes 
    logs <script|index> Tails the logs for <script|index> 
    columns add <col> Adds the specified column to the output in `forever list` 
    columns rm <col> Removed the specified column from the output in `forever list` 
    columns set <cols> Set all columns for the output in `forever list` 
    cleanlogs   [CAREFUL] Deletes all historical forever log files 

代わりに、あなたのプロセスを管理するためにforeverを使用すると、ちょうどドッカーを使用します。

  • --restart=alwaysdocker runのオプションは、foreverと同じ基本的な概念です。アプリケーションを再起動し、失敗した場合は実行を継続します。
  • docker runは、forever startと同義です。バックグラウンドで実行するには-ddocker runを追加してください。
  • docker psは、forever listと同義です。 Dockerの場合は、foreverの各プロセスをDockerコンテナにするだけです。
  • docker logsは、forever logsと同義です。

これは単なるCMDまたはENTRYPOINTDockerfileであなたのプロセスを作成し、完全にforever WTH離れて行うには、それはかなり些細にする必要があります。さらに道

、ときにドッカー群れ、ヘルスチェック(HEALTHCHECK命令)を見て、コンテナのオーケストレーションと展開に取得を開始し、ドッカー作曲。

関連する問題