Macで1.12のdocker swarmを試しています。 3つのVirtualBox VMを起動し、3つのスウォームクラスターを作成しました。
docker@redis1:~$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
2h1m8equ5w5beetbq3go56ebl redis3 Ready Active
8xubu8g7pzjvo34qdtqxeqjlj redis2 Ready Active Reachable
cbi0lyekxmp0o09j5hx48u7vm * redis1 Ready Active Leader
ただし、サービスを作成すると、エラーは表示されませんが、レプリカには常に0/1が表示されます。
docker@redis1:~$ docker service create --replicas 1 --name hello ubuntu:latest /bin/bash
76kvrcvnz6kdhsmzmug6jgnjv
docker@redis1:~$ docker service ls
ID NAME REPLICAS IMAGE COMMAND
76kvrcvnz6kd hello 0/1 ubuntu:latest /bin/bash
docker@redis1:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
何が問題なのでしょうか?ログはどこで探しますか?ありがとう!
問題は、何もしていないため、タスク(bin/bashを呼び出す)がすぐに終了することです。
サービスのタスクを見ると、タスクが開始され、数秒以内にシャットダウンされることがわかります。 1つのタスクを常に実行するように要求されているため、別のタスクが開始、シャットダウンなどされます。
docker service ps hello
たとえばubuntu:latest top
を使用すると、タスクは実行されたままになります。
これは、存在しないローカルディレクトリにバインドされている作成ファイルでボリュームを指定した場合にも発生する可能性があります。