web-dev-qa-db-fra.com

les répliques de service Docker restent 0/1

J'essaie Docker Swarm avec 1.12 sur mon Mac. J'ai démarré 3 VM VirtualBox, créé un cluster essaim de 3 tout va bien.

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

Cependant, lorsque je crée un service, je ne vois aucune erreur, mais les répliques affichent toujours 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

Quel pourrait être le problème? Où rechercher les journaux? Merci!

21
Samar

Le problème est que vos tâches (appelant bin/bash) se terminent rapidement car elles ne font rien.

Si vous regardez les tâches de votre service, vous verrez que l'une est démarrée puis arrêtée en quelques secondes. Une autre est ensuite démarrée, arrêt et ainsi de suite, car il vous est demandé qu'une tâche soit exécutée en tout temps.

docker service ps hello

Si tu utilises ubuntu:latest top par exemple, la tâche continuera de fonctionner.

31
Bernard

Cela peut également se produire si vous spécifiez un volume dans votre fichier de composition qui est lié à un répertoire local qui n'existe pas.

2
Jim Hunziker