2017-09-18 3 views
0

使用例:特定のノードのサービスのレプリカ数を制限する方法はありますか。

私は2ノード、1GBのRAMを備えたマシンA、4GBのRAMを備えたマシンBを持っています。

私は、1gbのRAMを使用するJavaコンテナの5つのレプリカでサービスを展開します。

私シャットダウン、マシンBがどのように私は4のJavaを起動するマシンAを防ぐことができた場合は1マシンA上の1つのJavaコンテナとマシンB

上の4 Javaコンテナがあるでしょうか?

マシンはこれらのコンテナを起動するのに十分なRAMを持っておらず、可用性を向上させるのではなく、それを減らします。

+0

を防ぐことができますよう、コンテナあたり500MBを追加する場合、私はわからないが、そのようなschedueling戦略は、あなたがそれらを設定する必要はありませんので、群れの中に構築されています。 https://docs.docker.com/swarm/scheduler/strategy/#spread-strategy-example – yamenk

答えて

1

この機能は現在のところありません。未解決の問題は、メモリ要件の制約を追加で何をすべき同じ

https://github.com/docker/swarm/issues/1734

のためにあります。ですから、このような状況

docker service create --name nginx --reserve-memory 500Mb --replicas 3 nginx 
+0

このオプションは、Nginxの各1,5GbまたはNginxのセットに対して500MBを予約しますか? – Nolyurn

+0

はい。マシンに1GBのメモリがない場合は、2つのコンテナのみがスケジュールされます –