清除所有内容的Docker命令
是否有一个 docker 命令可用于清除所有内容?如果正在运行,请停止所有容器,删除所有图像,删除所有卷......等等。
回答
我认为没有一个命令可以做到这一点。您首先需要停止所有容器使用
$ docker stop `docker ps -qa` > /dev/null 2>&1; ## Stop all running containers
$ docker system prune --volumes --all; ## Remove all unused docker components
prune 的用法可以在docker 官方文档中找到。
您仍然可以在一行中运行上述 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;"
编辑 1:
根据@Zeitounator 的评论,我添加> /dev/null 2>&1了将任何输出重定向到 null 和 stderr 的内容。即使在没有容器的情况下停止命令的退出代码为 1,这仍然会继续删除所有 docker 内容。
另外@Zeitounator 的 wipedocker 功能更加优雅。