2017-12-03 12 views
0

私はCassandraサーバーを含む2つのドッカーと私のアプリケーションを持つ突堤サーバーを含むドッキングステーションを持っています。従属ドッカーサービスを管理する方法

両方のドッキングマンがシェフソロを使用して、埠頭とカサンドラの開始後にタスクを実行したり設定したりします。

カッサンドラドッカーでは、サーバーの起動後にキースペースの作成を実行します。 と、桟橋では、サーバーを起動した後にデータをシステムにプリロードします。

問題は、データを事前にロードするためにCassandraへの接続が必要なため、私が桟橋を起動する前にカサンドラドッカーが初期化を完了したときを知る必要があることです。

私の質問はどのように達成できますか?

  • 私はドッカーが準備ができていることをシステムに通知できるドッカーがありますか?
  • シェフの初期化が完了したらシェフを確認する方法はありますか?
  • おそらく別のアプローチが必要ですか?

提案が歓迎されます。

答えて

0

いいえ、Dockerでこれを行うネイティブな方法はありません。その理由は、コンテナの使用方法ではないからです。あなたのイメージあなたのアプリケーションです。プロビジョニングはオンラインになる際に行われるべきではありません。

あなたがここで行うべきことは、シェフスクリプトをDockerfileに追加してそこからあなたのイメージを構築することです。あなたがアプリケーションを実行するときに行く準備が整いました。

ただし、スタートアップの順序を制御したい場合は、コンテナが)になるのを待ってから別のコンテナを開始します。それが「準備完了」になるまで待つことはありません。これについての詳細はこちらをご覧ください。here.

幸運!

関連する問題