私は1つのswarm managerと2つのswarm nodeを持っています。私は、docker deamonで定義したいくつかのラベルに基づいてコンテナを開始したいと思います。これは私が試したコマンドです:docker swarm compose constraints
docker -H :2376 run -e constraint:node==docker2 image/restservice
docker: Error response from daemon: Unable to find a node that satisfies the following conditions
[available container slots]
[node==docker2].
ここで私はswarmとドッカーの情報を実行すると何が得られますか?
Containers: 13
Running: 4
Paused: 0
Stopped: 9
Images: 54
Server Version: swarm/1.2.3
Role: primary
Strategy: spread
Filters: health, port, containerslots, dependency, affinity, constraint
Nodes: 2
docker-node-1: 192.168.56.104:2375
└ ID: I32N:D2XQ:I2FL:WDDR:YQ32:BJ62:XRWJ:7TDR:XD74:IH5M:Y2W2:4PD6
└ Status: Healthy
└ Containers: 7
└ Reserved CPUs: 0/1
└ Reserved Memory: 0 B/2.061 GiB
└ Labels: executiondriver=, kernelversion=3.16.0-4-amd64, node=docker2, operatingsystem=Debian GNU/Linux 8 (jessie), storagedriver=aufs
└ UpdatedAt: 2016-08-16T18:47:05Z
└ ServerVersion: 1.11.1
docker-node-2: 192.168.56.106:2375
└ ID: 6VAY:KCMX:JTTG:SQXW:BFMK:MPNJ:AWEL:F3LT:FCXI:SQRO:ORDK:MOHY
└ Status: Healthy
└ Containers: 6
└ Reserved CPUs: 0/1
└ Reserved Memory: 0 B/2.061 GiB
└ Labels: executiondriver=, kernelversion=3.16.0-4-amd64, node=docker3, operatingsystem=Debian GNU/Linux 8 (jessie), storagedriver=aufs
└ UpdatedAt: 2016-08-16T18:47:19Z
└ ServerVersion: 1.11.1
Plugins:
Volume:
Network:
Kernel Version: 3.16.0-4-amd64
Operating System: linux
Architecture: amd64
CPUs: 2
Total Memory: 4.123 GiB
Name: bdf49c666300
Docker Root Dir:
Debug mode (client): false
Debug mode (server): false
WARNING: No kernel memory limit support
私は見逃しましたか?
掃除モードを使用していますか? swarmを使用している場合は、swarm managerがポート2376でリッスンしていますか? ポート4000(これは通常、ローカルエージェントではなくswarmによって使用されます)で実行してみてください。 ローカルエンジンでコンテナのスケジュールを設定しようとしているようです。 これが役に立ちます。 –
私はこの問題を解決しました。なぜそれがうまくいかなかったのか分かりません。ノード群を再起動しても何の問題もなく動作します。また、ドッカーの作図は群れで完璧に機能します。 – user3756702