2016-08-23 8 views
1

Docker Swarmで私の足を濡らしているのは、私たちが計算クラスタをよりコンテナ化するように設定する方法を検討しているからです。 基本的に私たちは16台のコンピュータで構成された小さなファームを所有しています。各ノードに同じイメージをプルダウンして、同じコンテナを実行させ、マスターノード上で動作するOpenMPIプログラムからジョブを受け入れたいと考えています。すべてのDocker Swarmノードで同じコンテナを実行する方法

OpenMPI固有のものは何もありません。ただ、コンテナがSSHポートを開くことができ、マスタがログインできる必要があります。私はこれを単一のDockerコンテナで動作させています。

今、私は16ノードを管理する方法としてDocker MachineとDocker Swarmを学習しています。私が知ることから、集合を設定すると、DOCKER_HOST(または-Hを使用)を "ドッカーの実行"を送信するように設定し、スワママネージャは要求されたコンテナを実行するノードを決定します。私は、これは基本的に、発見サービスを混乱させるのではなく、単純なノードリストを使って作業しています。

しかし、実際には、すべてのノードで同じコマンドを使用して同じコンテナを実行します。これは可能ですか?

答えて

2

Docker 1.12がグローバルサービスを導入し、--mode globalをコマンド実行に渡すDockerはサービスをすべてのノードにスケジュールします。あなたがあなたのサービスの展開戦略を定義することができます[Kontena](https://www.kontena.io)とも

openmpi: 
    environment: 
    - "affinity:container!=*openmpi*" 
    labels: 
    - "com.myself.name=openmpi" 
+0

:あなたは同じ結果を得るために、ラベルと負の親和性フィルタを使用することができますドッカースウォームを使用

「デーモン」として。それから、すべてのノードに展開されます。また、新しいノードがクラスタに参加するときに、自動的にすべての新しいノードに展開されます。 – Lauri

+0

優れた回答、ありがとうございます! – Steve

+0

はdocker-composeファイルの例ですか?私はスウォームモードが構成と動作しないと思う –

関連する問題