停止并删除所有docker集装箱

什么是最好的方式来创build一个干净的石板与您的Docker容器? 很多时候,我觉得从零开始比较容易,但是我有一堆容器,我不确定它们的状态,然后当我运行docker rm它不会让我,因为docker集装箱仍然可以使用。

Docker引入了新的命名空间和命令,每个人都应该学习,不要拘泥于旧的命运。

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

$ docker container prune


删除不再需要的图像

这意味着,它只会删除图像,这是没有标记,并没有指向“最新” – 所以没有真正的图像,你可以经常使用被删除$ docker image prune


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

(甚至停止的容器做索赔卷)。 这通常会清理很久以前已经被删除的容器。 它不应该删除命名卷,因为它们的容器应该存在/正在运行。 要小心,确保你的堆栈至less在运行这个docker volume prune之前运行


相同的未使用的networking

docker network prune


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

docker system prune

这是一个很好的要求,我用这种东西:从这个链接,人们似乎不喜欢( 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 

删除networking

 $ 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,重新安装你想要的版本,并且应该清理干净的版本。