Docker swarm 101
Par pepin le samedi, juillet 28 2018, 00:07 - Docker - Lien permanent
Depuis la verson 1.12, le mode swarm est directement disponible dans l'installation basique de docker.
Pour initialiser un essaim :
docker swarm init
il vous est alors donné la commande à exécuter sur les autres serveurs docker pour joindre l'essaim :
docker swarm join --token
tokenip:port
Pour voir lister les noeuds de l'essaim
docker node ls
Et en version un peu plus sommaire
docker node ls --format '
.ID.Hostname.Status.TLSStatus'
Creation d'un container dans l'essaim
docker service create
image_name
exemple :
docker service create --name lampadaire lamp
Lister les containers présents
docker service ls
ID NAME MODE REPLICAS IMAGE PORTS 121fg1dd9xq2 lampadaire replicated 1/1 lamp:latest
En lançant une deuxième fois un "create" sur l'essaim, on voit avec un "ls" que le container est placé sur l'autre noeud :
ID NAME MODE REPLICAS IMAGE PORTS 121fg1dd9xq2 lampadaire replicated 1/1 lamp:latest ycg88kgulcmd lamproie replicated 1/1 lamp:latest
mais on voit que les deux ne sont pas en situation de replicas entre eux.
Nous pouvons updater les ports publiés ou d'autres informations :
docker service update --publish-add 80 lampadaire
Chose interressante, le forwarding de port est disponible sur les deux noeuds a l'identique, quelque soit le noeud qui héberge.
Modifier le nombre de replicas
docker service scale eager_benz=REPLICAS_NUMBER