Docker提供了一种列出正在运行的容器或所有容器(包括停止的容器)的方法。
这可以通过:
$ docker ps # To list running containers
或通过
$ docker ps -a # To list running and stopped containers
我们是否有一种方法只列出被停止的容器?
Docker提供了一种列出正在运行的容器或所有容器(包括停止的容器)的方法。
这可以通过:
$ docker ps # To list running containers
或通过
$ docker ps -a # To list running and stopped containers
我们是否有一种方法只列出被停止的容器?
当前回答
典型的命令是:
docker container ls -f 'status=exited'
但是,这将只列出可能的非运行状态之一。下面是所有可能状态的列表:
创建 重新启动 运行 删除 停顿了一下 退出 死
你可以通过在状态上传递多个过滤器来过滤多个状态:
docker container ls -f 'status=exited' -f 'status=dead' -f 'status=created'
如果你将它与自动清理脚本集成在一起,你可以用一些bash语法将一个命令链接到另一个命令,只输出容器id的-q,你也可以用退出代码过滤器限制成功退出的容器:
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"
or
docker container ls -f "status=exited"
or
docker ps -f "status=exited"
典型的命令是:
docker container ls -f 'status=exited'
但是,这将只列出可能的非运行状态之一。下面是所有可能状态的列表:
创建 重新启动 运行 删除 停顿了一下 退出 死
你可以通过在状态上传递多个过滤器来过滤多个状态:
docker container ls -f 'status=exited' -f 'status=dead' -f 'status=created'
如果你将它与自动清理脚本集成在一起,你可以用一些bash语法将一个命令链接到另一个命令,只输出容器id的-q,你也可以用退出代码过滤器限制成功退出的容器:
docker container rm $(docker container ls -q -f 'status=exited' -f 'exited=0')
有关过滤器的更多细节,请参阅Docker的文档:https://docs.docker.com/engine/reference/commandline/ps/#filtering
只有停止的容器可以使用以下方法列出:
docker ps --filter "status=exited"
or
docker ps -f "status=exited"