清除所有内容的 Docker 命令

时间:2021-03-28 13:30:12

标签: docker

是否有一个单独的 docker 命令可用于清除所有内容?如果正在运行,则停止所有容器,删除所有图像,删除所有卷......等等。

1 个答案:

答案 0 :(得分:7)

我认为没有一个命令可以做到这一点。您首先需要使用

停止所有容器
$ docker stop `docker ps -qa` > /dev/null 2>&1; ## Stop all running containers
$ docker system prune --volumes --all; ## Remove all unused docker components

可以在 docker official documentation 中找到关于 prune 的用法。

您仍然可以在一行中运行上述 2 个命令。

$ docker stop `docker ps -qa` > /dev/null 2>&1; docker system prune --volumes --all;

或者别名应该有帮助

alias dockerRemoveAll="docker stop `docker ps -qa` > /dev/null 2>&1; docker system prune --volumes --all;"

Edit-1:
根据 @Zeitounator's 评论,我添加了 > /dev/null 2>&1 以将任何输出重定向到 null 和 stderr。即使在没有容器的情况下停止命令的退出代码为 1,这仍然会继续删除所有 docker 内容。

还有 @Zeitounator's wipedocker function 更加优雅。