Docker stack

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Déploiement d'une pile multi-services sur Swarm
Entrée Fichier au format Compose
Portée À exécuter sur un manager
Voir aussi Docker compose · Docker swarm · Docker service

docker stack est la commande qui fait le pont entre un fichier Docker Compose et un cluster Swarm : elle déploie l'ensemble des services décrits dans le fichier comme une seule unité logique (une « stack »), chaque service Compose devenant un service Swarm nommé <stack>_<service>.

Référence officielle : https://docs.docker.com/engine/swarm/stack-deploy/

Déployer une stack

git clone <URL_DEPOT_COMPOSE>
cd <REPERTOIRE_PROJET>
vi ma-stack.yml

docker stack deploy -c ma-stack.yml exemple

Inspecter une stack

docker stack ls
docker stack ps exemple
docker stack services exemple
docker service logs exemple_busybox

Mettre à jour une stack

Il n'existe pas de sous-commande update dédiée : on relance simplement la même commande de déploiement, Swarm calcule le différentiel et applique une mise à jour progressive (rolling update) service par service :

docker stack deploy -c ma-stack.yml exemple

Supprimer une stack

docker stack rm exemple

Toutes les ressources associées (services, réseaux dédiés) sont supprimées ; les volumes nommés sont conservés par défaut, sauf suppression explicite.

Voir aussi