Existe-t-il une commande pouvant combiner les commandes docker stop
et docker rm
ensemble? Chaque fois que je veux supprimer un conteneur en cours d'exécution, je dois exécuter 2 commandes séquentiellement, je me demande s'il existe une commande combinée pouvant simplifier ce processus.
docker stop CONTAINER_ID
docker rm CONTATINER_ID
Vous pouvez utiliser :
docker rm -f CONTAINER_ID
Il supprimera le conteneur même s'il est toujours en cours d'exécution.
https://docs.docker.com/engine/reference/commandline/rm/
Vous pouvez également exécuter vos conteneurs avec l'option --rm
, elle sera automatiquement supprimée à l'arrêt.
docker stop CONTAINER_ID | xargs docker rm
Vous pouvez arrêter et supprimer le conteneur avec une seule commande le $_
vous donne le dernier écho
docker stop CONTAINER && docker rm $_
https://www.ctl.io/developers/blog/post/gracefully-stopping-docker-containers/
Vous pouvez utiliser kill, et également en utilisant rm et le drapeau force, il utilisera également kill.
Dans mon cas, pour supprimer tous les conteneurs en cours d'exécution, j'ai utilisé
docker rm -f $(docker ps -a -q); docker rmi $(docker images -q)
Utilisez la commande docker ps avec l'indicateur -a pour localiser le nom ou l'ID des conteneurs à supprimer.
docker ps -a
Pour supprimer: $ docker rm ID_or_Name ID_or_Name
Retirer un conteneur à la sortie:
Si vous savez, lorsque vous créez un conteneur, que vous ne souhaitez plus le conserver une fois que vous avez terminé, vous pouvez exécuter docker run --rm pour le supprimer automatiquement à sa fermeture.
Exécuter et supprimer: docker run --rm image_name
Supprimer tous les conteneurs sortis:
Vous pouvez localiser les conteneurs à l'aide de docker ps -a et les filtrer en fonction de leur statut: créé, redémarré, en cours d'exécution, mis en pause ou quitté. Pour examiner la liste des conteneurs sortis, utilisez l'indicateur -f pour filtrer en fonction de l'état. Une fois que vous avez vérifié que vous souhaitez supprimer ces conteneurs, utilisez -q pour transmettre les ID à la commande docker rm.
Liste:
docker ps -a -f status=exited
docker rm $(docker ps -a -f status=exited -q)
Supprimer les conteneurs en utilisant plusieurs filtres :
Les filtres Docker peuvent être combinés en répétant l'indicateur de filtre avec une valeur supplémentaire. Il en résulte une liste de conteneurs qui remplissent l'une ou l'autre condition. Par exemple, si vous souhaitez supprimer tous les conteneurs marqués comme étant Created (un état qui peut résulter de l'exécution d'un conteneur avec une commande non valide) ou Exited, vous pouvez utiliser deux filtres:
docker ps -a -f status=exited -f status=created
Arrêtez et retirez tous les conteneurs:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
Pour enlever un seul conteneur
docker rm -f CONTAINER_ID
Pour enlever tous les conteneurs
docker rm -f `docker container ps -qa`
Supprimer tous les conteneurs: docker ps -aq | xargs docker rm -f
Cela arrêtera et supprimera toutes les images, y compris les conteneurs en cours d'exécution, car nous utilisons -f
docker rmi -f $(docker images -a -q)