2016-11-26 9 views
0

私はDocker-Multinodeに基づいて簡単なKubernetesテスト環境をセットアップしました。また、私のツールのいくつかが含まれているUbuntuベースのかなり大きなドッカーを設定しました。それらのほとんどはC++で書かれており、システムにインストールされたライブラリなどにはかなりの依存関係があります。Kubernetes:ドッカーAからドッカーBでbashコマンドを実行する方法

私の目標は、複数のノード間で従来のバッチタスクを配布することです。私はDocker-Multinodeの簡単な設定が気に入っていましたが、これが私にとって正しいことなのかどうか疑問です。他のdockerイメージに私の実際のレガシーアプリケーションがあるからです。

ドッカーA(マルチノードワーカードッカー)のドッカーB(レガシーツールを使用したUbuntuドッカー)でbashコマンドを実行するにはどうすればよいですか?それとも、これはまったく勧められないのでしょうか?

編集:ドッカーA(ワーカーマルチノードワーカードッカー)とドッカーB(レガシーツールUbuntuドッカー)が同じホスト上で実行されていることを明確にするために(各マシンにはそれぞれ両方があります)

答えて

0

あなたの質問は本当に明確ではない:

Kubernetesはドッカーコンテナを実行します。どんなドッカーコンテナ。

Kubernetes自体はDockerで動作し、 'マルチノード'ではKubernetesがDockerで実行する必要がある依存関係を「ブートストラップド・ドッカー」と呼びます。

Docker AとDocker Bの違いについてはっきりしません。 さらに、バッチジョブを「配布」したい場合は、それぞれのジョブを独立したコンテナで実行する必要があります。コンテナAはコンテナAに依存してはいけません。

DockerコンテナBでジョブを実行する必要がある場合は、実際にはDockerコンテナBをジョブコンテナAのベースイメージとして使用する必要がありますドッカー画像はレイヤー化されているので、たとえ大きくても、別のコンテナがそれをベースイメージとして使用すると全体的に一度だけロードされるので、Bをベースイメージとする5つのコンテナタイプを持つことは問題ではありません。基本イメージは一度しかロードされないからです。

実際に別のものと通信するためにコンテナが必要な場合は、コマンドを一方から他方に渡すためのAPIを構築する必要があります(ある種のRESTfulなAPIです。私はこれが

+0

感謝を役に立てば幸い

に)一つの容器で実行し、結果を返す、私はAとBは、各サーバーの両方で両方を実行することをドッキングウィンドウを明確にする私の質問を更新しました。だから私が検討していたことの一つは、ドッカーソケットを使用して、ドッキングドナーが兄弟(子ではない)ドッカーBを始動させることでした。しかし、ドッカー - マルチノードによってどのイメージが使用されているのかは分かりません。おそらくそれはUbuntuのイメージでもないでしょう。ドッカーとマルチノードの例でどのイメージを変更すればよいでしょうか? – benjist

+0

私はまだ別のコンテナから1つのコンテナを実行する理由を理解できません。目標は何ですか? Kubernetesではあなたの実行ポッド(Deployment、PetSets、Jobsによって制御されるポッドかどうか)。あなたのDockerコンテナAがこれと何をしなければならないか分かりません。それはKubernetesサービスを実行しているだけで、Kubernetesコマンドラインを使用してBコンテナを実行するだけです。 – MrE

+0

私は、コンテナAをその中のサービスとともに使用して、すべてのレガシーなものをそこにインストールしたいと考えています。それでは、コンテナBは必要ありません。しかし、イメージAにはどのイメージがあるのか​​わからないので、bash dcriptsに埋め込まれていて、いくつかの違いがあるようです。 – benjist

関連する問題