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