2

VCAP_SERVICES のエントリは、cf bind-service コマンドが呼び出されるとすぐに追加されるようです。その場合、再起動が必要な理由

4

3 に答える 3

2

新しいサービスをバインドする場合、アプリを再起動するだけでは不十分です。あなたはそれをしなければrestageなりません。

アプリケーションを再ステージングすると、新しいドロップレットをコンパイルして開始することで、アプリケーションを停止して再ステージングします。

詳細については、アプリケーションの開始、再起動、および再ステージングを参照してください。

また、ステージング ライフサイクル、ドロップレットの作成方法と保存方法を理解するために、アプリケーションのステージング方法を参照してください。

于 2018-01-15T16:19:46.683 に答える
1

OS 環境変数は、アプリケーションのVCAP_SERVICES起動時に設定されます。プロセスが開始されると、環境変数の値は変更できません。cf bind-serviceこれが、実行後にアプリケーションを再起動して新しい値を確認する必要がある理由です。VCAP_SERVICES

ビルドパックが実行cf pushされ、一部のビルドパックが、どのサービスがアプリにバインドされているかを検査し、サービスの存在に反応する可能性があります。たとえば、newrelic サービスをアプリにバインドしている場合、ビルドパックは newrelic エージェントを cf push によって作成されたドロップレットにインストールします。これが、cf bind-service操作後cf restageにビルドパックを再実行し、ビルドパックによって生成されたドロップレットを変更して、新しくバインドされたサービスの存在に対応する機会を与える必要がある理由です。

于 2018-01-22T00:22:53.410 に答える