2017-10-26 3 views
0

Dockerゲストコンテナを使用してサービスファブリックアプリを配備するようにセットアップしました。すべてうまくいくが、サービスファブリックは私のイメージの最新バージョンをダウンロードしない。ドッカーのプルは実行されていないようだ。サービスファブリックは配備時にドッカープルを実行しません。

私は 'docker pull'コマンドで 'Service Fabric PowerShell script'を追加しましたが、これはノードの1つでのみ実行されます。

配備中にVSTSまたはサービスファブリックのいずれかでpowerershellスクリプト/コマンドを実行して、すべてのノードでコマンドを実行してドッカープルを実行する方法はありますか?

+1

明示的なバージョンタグを使用していますか? '最新のもの'に頼らないでください – LoekD

+0

私はそうではありません、試してみましょう! –

+1

これを行う簡単な方法です。 VSTSではタスク 'Push Services'の 'Additional Image Tags'フィールドに' $(Build.BuildId) 'を追加してイメージにタグを付けます。 – LoekD

答えて

1
  1. 明示的なバージョンタグを使用してください。 「最新」に頼らないでください。 VSTS、タスク 'プッシュサービス'でこれを行う簡単な方法は、Additional Image Tags$(Build.BuildId)フィールドに画像にタグを付けます。

  2. 次にトークナイザを使用して、リリースパイプラインのServiceManifest.xmlイメージタグ値を置き換えることができます。私のお気に入りの一つはthisです。

0

DockerコンテナをService Fabricに展開するには、Docker ComposeファイルまたはService Fabric Applicaitonパッケージにマニフェストを指定する必要があります。

コンテナの場合、サービスファブリックホスティングシステムは、コンテナを実行するノード上のドッカーホストを制御します。

VSTS展開の場合は、サービスファブリック展開タスクと両方のパスのサービスファブリック作成展開タスクがあります。

サービスファブリックのコンテナクイックスタートは: Windowsのために彼女を参照してください:Linux用https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-quickstart-containers 彼女:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-quickstart-containers-linux

+0

私は2つのリリースパイプラインを作成しました.1つはリリースしたタスクごとです。ドッカーの作成バージョンはドッカープルを行いますが、もう一方のドッカーは作成しません。それで、なぜ2番目のものがドッカーを引っ張ってくれないのか、それとも、これは設計によるのですか? –

+0

ご迷惑をおかけします。ドッカーのプルは、アプリケーションが完了した後、クラスタ内のドッカーホストによって行われます。ドッカーがどこから引っ張ってくるのが見えますか?離脱のエログでは? –

関連する問題