Comment puis-je arrêter tous les conteneurs docker en cours d'exécution sur Windows?
docker stop
est pour 1 conteneur uniquement.
Toute commande ou un script pour le faire arrêter tous les conteneurs?
Comment puis-je arrêter tous les conteneurs docker en cours d'exécution sur Windows?
docker stop
est pour 1 conteneur uniquement.
Toute commande ou un script pour le faire arrêter tous les conteneurs?
Vous pouvez créer un lot de fichier (.bat ou .cmd) avec ces commandes:
@ECHO OFF
FOR /f "tokens=*" %%i IN ('docker ps -q') DO docker stop %%i
Si vous souhaitez exécuter cette commande directement dans la console, remplacez - %%i
avec %i
, comme:
FOR /f "tokens=*" %i IN ('docker ps -q') DO docker stop %i
Dans Git Bash ou Bash pour Windows vous pouvez utiliser cette commande Linux:
docker stop $(docker ps -q)
Pour PowerShell, la commande est très similaire à celle Linux:
docker ps -q | % { docker stop $_ }
Mes deux cents.
Si vous voulez arrêter de mer filtrée par certains critères
docker ps -a -q --filter "name=container_name" --format="{{.ID}}" | ForEach-Object -Process {docker stop $_ }
ou si vous voulez arrêter et supprimer tous ensemble
docker ps -a -q --filter "name=container_name" --format="{{.ID}}" | ForEach-Object -Process {docker rm $_ -f}
En utilisant la pipe et foreach - je éviter l'erreur retournée quand il n'y a pas ce type de contenants sur la machine spécifique parce que le panneau d'arrêt ou de docker rm besoin d'au moins un argument.
Ce script est utilisé avec la combinaison de
docker container run image_tag --name=container_name
pour utiliser le filtre plus tard, lorsque vous voulez arrêter et supprimer les conteneurs.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.