仅列出停止的 Docker 个容器
List only stopped Docker containers
Docker 为您提供了一种列出 运行 容器或所有容器(包括已停止的容器)的方法。
这可以通过以下方式完成:
$ docker ps # To list running containers
或通过
$ docker ps -a # To list running and stopped containers
我们有办法只列出已停止的容器吗?
只能使用已停止的容器列出:
docker ps --filter "status=exited"
或
docker ps -f "status=exited"
典型的命令是:
docker container ls -f 'status=exited'
但是,这只会列出一种可能的非 运行 状态。以下是所有可能状态的列表:
- 已创建
- 正在重启
- 运行
- 删除
- 暂停
- 退出
- 死了
您可以通过对状态传递多个过滤器来过滤多个状态:
docker container ls -f 'status=exited' -f 'status=dead' -f 'status=created'
如果您将其与自动清理脚本集成,您可以使用一些 bash 语法将一个命令链接到另一个命令,使用 -q
仅输出容器 ID,您还可以限制为仅使用退出代码过滤器成功退出的容器:
docker container rm $(docker container ls -q -f 'status=exited' -f 'exited=0')
有关您可以使用的过滤器的更多详细信息,请参阅 Docker 的文档:https://docs.docker.com/engine/reference/commandline/ps/#filtering
docker container list -f "status=exited"
或
docker container ls -f "status=exited"
或
docker ps -f "status=exited"
Docker 为您提供了一种列出 运行 容器或所有容器(包括已停止的容器)的方法。
这可以通过以下方式完成:
$ docker ps # To list running containers
或通过
$ docker ps -a # To list running and stopped containers
我们有办法只列出已停止的容器吗?
只能使用已停止的容器列出:
docker ps --filter "status=exited"
或
docker ps -f "status=exited"
典型的命令是:
docker container ls -f 'status=exited'
但是,这只会列出一种可能的非 运行 状态。以下是所有可能状态的列表:
- 已创建
- 正在重启
- 运行
- 删除
- 暂停
- 退出
- 死了
您可以通过对状态传递多个过滤器来过滤多个状态:
docker container ls -f 'status=exited' -f 'status=dead' -f 'status=created'
如果您将其与自动清理脚本集成,您可以使用一些 bash 语法将一个命令链接到另一个命令,使用 -q
仅输出容器 ID,您还可以限制为仅使用退出代码过滤器成功退出的容器:
docker container rm $(docker container ls -q -f 'status=exited' -f 'exited=0')
有关您可以使用的过滤器的更多详细信息,请参阅 Docker 的文档:https://docs.docker.com/engine/reference/commandline/ps/#filtering
docker container list -f "status=exited"
或
docker container ls -f "status=exited"
或
docker ps -f "status=exited"