diff --git a/docs/docker/swarm-cheatsheet b/docs/docker/swarm-cheatsheet new file mode 100644 index 0000000..cd6a523 --- /dev/null +++ b/docs/docker/swarm-cheatsheet @@ -0,0 +1,202 @@ +# Docker Swarm Cheatsheet + +## Initialisation et Configuration du Swarm + +```bash +# Initialiser un nouveau swarm +docker swarm init --advertise-addr + +# Obtenir le token pour ajouter un worker +docker swarm join-token worker + +# Obtenir le token pour ajouter un manager +docker swarm join-token manager + +# Rejoindre un swarm en tant que worker +docker swarm join --token : + +# Rejoindre un swarm en tant que manager +docker swarm join --token : + +# Quitter un swarm +docker swarm leave [--force] +``` + +## Gestion des Nœuds + +```bash +# Lister tous les nœuds du swarm +docker node ls + +# Inspecter un nœud +docker node inspect + +# Promouvoir un worker en manager +docker node promote + +# Rétrograder un manager en worker +docker node demote + +# Mettre un nœud en pause (drain) +docker node update --availability drain + +# Remettre un nœud en service +docker node update --availability active + +# Ajouter des labels à un nœud +docker node update --label-add = + +# Supprimer un nœud du swarm +docker node rm [--force] +``` + +## Services + +```bash +# Créer un service +docker service create --name --replicas + +# Créer un service avec des options avancées +docker service create \ + --name \ + --replicas \ + --constraint node.role==manager \ + --publish : \ + --mount type=volume,source=,destination= \ + --env = \ + --network \ + + +# Lister tous les services +docker service ls + +# Voir les tâches d'un service (conteneurs) +docker service ps + +# Inspecter un service +docker service inspect + +# Mettre à jour un service +docker service update \ + --image \ + --replicas \ + --update-parallelism \ + --update-delay s \ + + +# Faire une mise à jour progressive (rolling update) +docker service update --update-parallelism 2 --update-delay 20s + +# Supprimer un service +docker service rm + +# Mettre à l'échelle un service (scale) +docker service scale = + +# Logs d'un service +docker service logs +``` + +## Stacks + +```bash +# Déployer une stack depuis un fichier compose +docker stack deploy -c + +# Lister toutes les stacks +docker stack ls + +# Lister les services d'une stack +docker stack services + +# Lister les tâches d'une stack +docker stack ps + +# Supprimer une stack +docker stack rm +``` + +## Secrets + +```bash +# Créer un secret à partir d'un fichier +docker secret create + +# Créer un secret à partir de l'entrée standard +echo "secret-data" | docker secret create - + +# Lister les secrets +docker secret ls + +# Inspecter un secret +docker secret inspect + +# Supprimer un secret +docker secret rm + +# Utiliser un secret dans un service +docker service create \ + --name \ + --secret \ + +``` + +## Configs + +```bash +# Créer une config à partir d'un fichier +docker config create + +# Lister les configs +docker config ls + +# Inspecter une config +docker config inspect + +# Supprimer une config +docker config rm + +# Utiliser une config dans un service +docker service create \ + --name \ + --config \ + +``` + +## Réseaux Overlay + +```bash +# Créer un réseau overlay +docker network create --driver overlay + +# Créer un réseau overlay chiffré +docker network create --driver overlay --opt encrypted + +# Lister les réseaux +docker network ls + +# Inspecter un réseau +docker network inspect + +# Supprimer un réseau +docker network rm +``` + +## Diagnostic et Maintenance + +```bash +# Vérifier l'état du swarm +docker info + +# Voir les événements du swarm +docker events --filter 'scope=swarm' + +# Unlock swarm (après un redémarrage du manager si autolock est activé) +docker swarm unlock + +# Obtenir la clé de déverrouillage (à sauvegarder) +docker swarm unlock-key + +# Faire tourner la clé de déverrouillage +docker swarm unlock-key --rotate +``` \ No newline at end of file