停止并删除所有docker容器

问题描述 投票:8回答:5

使用Docker容器创建干净的平板的最佳方法是什么?很多次我觉得从头开始更容易,但我有一堆容器,我不知道他们的状态是什么,然后当我运行docker rm它不会让我,因为docker容器仍然可以使用。

docker
5个回答
9
投票

Docker引入了新的命名空间和命令,每个人都应该学习,而不是坚持使用旧的habbits。

删除不再需要的容器(已停止)

$ docker container prune


删除不再需要的图像

这意味着,它只删除没有标记但未被“最新”指向的图像 - 所以没有真正可以使用的图像被删除 $ docker image prune


删除任何现有容器未使用的所有卷

(甚至停止的容器确实声称量)。这通常可以清理悬空的容器 - 很久以前就已经删除了容器。它永远不应该删除命名卷,因为它们的容器应该存在/正在运行。小心,确保你的堆栈至少在运行之前使用这个 docker volume prune


未使用的网络相同

docker network prune


最后,如果你想摆脱所有垃圾 - 确保你的生产没有任何反应,请确保所有堆栈都在运行然后运行

docker system prune


6
投票

停止所有容器

docker stop $(docker ps -a -q)

删除所有容器

docker rm $(docker ps -a -q)

查找更多命令here


3
投票

这是我用于此类事情的好主意:从这个人们似乎不喜欢的链接(https://gist.github.com/bastman/5b57ddb3c11942094f8d0a97d461b430

删除卷

$ docker volume rm $(docker volume ls -qf dangling=true)
$ docker volume ls -qf dangling=true | xargs -r docker volume rm

删除网络

$ docker network ls  
$ docker network ls | grep "bridge"   
$ docker network rm $(docker network ls | grep "bridge" | awk '/ / { print $1 }')

删除docker图像

//见:http://stackoverflow.com/questions/32723111/how-to-remove-old-and-unused-docker-images

$ docker images
$ docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
$ docker images | grep "none"
$ docker rmi $(docker images | grep "none" | awk '/ / { print $3 }')

删除docker容器

//见:http://stackoverflow.com/questions/32723111/how-to-remove-old-and-unused-docker-images

$ docker ps
$ docker ps -a
$ docker rm $(docker ps -qa --no-trunc --filter "status=exited")

基本上你想要杀死所有正在运行的容器,删除每个图像,卸载docker,重新安装你想要的版本,这应该是一个干净的平板。


3
投票
docker ps -aq | xargs docker stop | xargs docker rm

要么

docker ps -aq | xargs docker rm -f

0
投票

在ubuntu中,当其他解决方案不起作用时,我刚刚杀死了所有进程。

$ ps aux | grep docker
$ sudo kill {enter process id here}

我不建议这样做。我正在重新安装你的操作系统,当这些命令节省了一些时间来修复我的容器问题。

© www.soinside.com 2019 - 2024. All rights reserved.