Notiuni invatate:
Puteti accesa slide-urile teoretice [https://drive.google.com/drive/folders/1p5daLH2CFmlNJ1-gd7-kLMzdnFbiyTCZ?usp=sharing|aici]]
Docker Swarm este nativ Docker (spre deosebire de docker-compose, care este un tool separat).
Pentru a initializa un cluster de Swarm, comanda
docker swarm init
trebuie data pe un nod de inceput
Pentru a adauga alte masini la cluster, este nevoie sa folositi comenzile generate atunci cand ati dat init. Atentie, ele sunt diferite in functie de worker sau manager
Pentru a vedea cate noduri aveti in cluster, puteti rula comanda
docker node ls
de pe un nod manager
Un serviciu Docker lanseaza taskuri ce rezulta in containere. Sintaxa pentru servicii docker este foarte asemanatoare cu sintaxa pentru containere de docker. Ca si intotdeauna, va recomandam sa consultati Documentatia Oficiala
docker service create --name NUME_SERVICIU IMAGINE_DOCKER -> creaza un serviciu pornind de la o imagine docker service ls -> afiseaza toate serviciile din sistem docker service inspect NUME_SERVICIU -> afiseaza informatii despre un serviciu docker service logs –f NUME_SERVICIU -> afiseaza logurile unui serviciu docker service ps NUME_SERVICIU (arata taskurile si starea lor, foarte buna pt debug) -> afiseaza taskurile si statusurile lor pentru un serviciu docker service update --replicas 3 NUME_SERVICIU -> actualizeaza serviciul, replicand containerele de 3 ori docker service rm NUME_SERVICIU -> sterge un serviciu
O stiva de servicii reprezinta mai multe servicii grupate in acelasi namespace. Comportamentul este similar cu Docker Compose, doar ca politica de denumire este alta
Referirea serviciilor in cadrul unei stive se face, la fel ca si in cazul serviciilor simple sau al containerelor, dupa numele serviciului. Totusi, va recomandam sa folositi mereu si prefixul oferit de stiva.
O stiva se genereaza pe baza unui fisier de tip compose ce are format .yml. In afara optiunilor care sunt folosite de Docker Compose, se mai pot introduce detalii de configurare ce tin de deployment.
Pentru a lansa o stiva de servicii, se executa comanda
docker stack deploy -c NUME_FISIER.yml NUME_STIVA
Portainer este un utilitar foarte bun de manangement al unui cluster de Docker Swarm. Se poate porni folosind scriptul oficial