Gestire docker swarm
-
Non ho alcuna esperienza con docker swarm, ma mi interessa il fatto che sia possibile dividere un'applicazione docker su più computer in modo che ci sia un'istanza sempre funzionante. In un post su Reddit ho trovato una guida che lo mostra molto semplice:
-
Eseguire questo comando sul primo host:
docker swarm init
-
Usare questo per ottenere il comando per unirsi agli altri host come manager (i manager sono anche worker):
docker swarm join-token manager
-
Copiare ed eseguire il comando fornito sugli altri host.
-
Controllare lo swarm eseguendo
docker node ls
-
Distribuire i servizi sullo swarm utilizzando i file
docker-compose.yml
con il comando:docker stack up -c <percorso/al/docker-compose.yml> <nome servizio>
. -
Controllare i servizi utilizzando
docker service ls
e/odocker service ps <nome-servizio>
.
Eseguire i container sullo swarm è fondamentalmente come eseguirli localmente con
docker compose
, con una sintassi leggermente diversa.Rimane un po' il problema dello spazio su disco, va trovato però il modo di condividerlo in modo sincronizzato, per esempio con glusterfs.
-