Docker 17
引擎: CLI | Engine: CLI

docker container prune

docker container prune

描述

移除所有停止的容器

使用

docker container prune [OPTIONS]

备选方案

名字,简写默认值描述
--filter给出filter的值 (e.g. ‘until= ')
--force, -ffalse不提示确认

父命令

命令描述
docker container管理容器

相关命令

命令描述
docker container attach将本地标准输入,输出和错误流附加到正在运行的容器
docker container commit根据容器的更改创建新图像
docker container cp复制容器和本地文件系统之间的文件/文件夹
docker container create创建一个新的容器
docker container diff检查对容器文件系统上文件或目录的更改
docker container exec在正在运行的容器中运行命令
docker container export将容器的文件系统导出为tar存档
docker container inspect显示一个或多个容器的详细信息
docker container kill杀死一个或多个正在运行的容器
docker container logs获取容器的日志
docker container ls列出容器
docker container pause暂停一个或多个容器内的所有进程
docker container port列出容器的端口映射或特定映射
docker container prune删除所有停止的容器
docker container rename重命名一个容器
docker container restart重新启动一个或多个容器
docker container rm删除一个或多个容器
docker container run在新容器中运行命令
docker container start启动一个或多个停止的容器
docker container stats显示容器资源使用统计信息的实时流
docker container stop停止一个或多个运行容器
docker container top显示容器的运行过程
docker container unpause取消暂停一个或多个容器内的所有进程
docker container update更新一个或多个容器的配置
docker container wait阻塞,直到一个或多个容器停止,然后打印退出代码

扩展描述

移除所有停止的容器。

实例

修剪容器

$ docker container prune WARNING! This will remove all stopped containers. Are you sure you want to continue? [y/N] y Deleted Containers: 4a7f7eebae0f63178aff7eb0aa39cd3f0627a203ab2df258c1a00b456cf20063 f98f9c2aa1eaf727e4ec9c0283bc7d4aa4762fbdba7f26191f26c97f64090360 Total reclaimed space: 212 B

过滤

过滤标志(-f--filter)格式为“key = value”。如果有多个过滤器,则传递多个标志(例如--filter "foo=bar" --filter "bif=baz"

目前支持的过滤器是:

  • 直到(<timestamp>) - 只删除在给定时间戳之前创建的容器

  • 标签(label=<key>,label=<key>=<value>,label!=<key>,或label!=<key>=<value>) -仅删除与容器(或没有,如果label!=...被使用)指定的标签。

until过滤器可以是Unix的时间戳,日期格式的时间戳,或持续时间字符串(例如,去10m1h30m)计算相对于守护机器的时间。支持的格式为日期格式时间戳包括RFC3339Nano,RFC3339, ,2006-01-02T15:04:052006-01-02T15:04:05.9999999992006-01-02Z07:002006-01-02。如果您在时间戳结束时未提供时区偏移Z+-00:00时区偏移,则将使用守护程序上的本地时区。在提供Unix时间戳时输入seconds.nanoseconds,其中seconds是自1970年1月1日(UTC / GMT午夜)以来经过的秒数,不包括闰秒(又名Unix纪元或Unix时间)以及可选的.nanoseconds字段是一秒不超过九位数的一小部分。

label过滤器接受两种格式。一个是label=...(label=<key>或label=<key>=<value>),它用指定的标签去除容器。另一种格式是label!=...(label!=<key>或label!=<key>=<value>),它删除没有指定标签的容器。

以下操作移除5分钟前创建的容器:

$ docker ps -a --format 'table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.CreatedAt}}\t{{.Status}}' CONTAINER ID IMAGE COMMAND CREATED AT STATUS 61b9efa71024 busybox "sh" 2017-01-04 13:23:33 -0800 PST Exited (0) 41 seconds ago 53a9bc23a516 busybox "sh" 2017-01-04 13:11:59 -0800 PST Exited (0) 12 minutes ago $ docker container prune --force --filter "until=5m" Deleted Containers: 53a9bc23a5168b6caa2bfbefddf1b30f93c7ad57f3dec271fd32707497cb9369 Total reclaimed space: 25 B $ docker ps -a --format 'table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.CreatedAt}}\t{{.Status}}' CONTAINER ID IMAGE COMMAND CREATED AT STATUS 61b9efa71024 busybox "sh" 2017-01-04 13:23:33 -0800 PST Exited (0) 44 seconds ago

下面删除之前创建的容器2017-01-04T13:10:00*

$ docker ps -a --format 'table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.CreatedAt}}\t{{.Status}}' CONTAINER ID IMAGE COMMAND CREATED AT STATUS 53a9bc23a516 busybox "sh" 2017-01-04 13:11:59 -0800 PST Exited (0) 7 minutes ago 4a75091a6d61 busybox "sh" 2017-01-04 13:09:53 -0800 PST Exited (0) 9 minutes ago $ docker container prune --force --filter "until=2017-01-04T13:10:00" Deleted Containers: 4a75091a6d618526fcd8b33ccd6e5928ca2a64415466f768a6180004b0c72c6c Total reclaimed space: 27 B $ docker ps -a --format 'table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.CreatedAt}}\t{{.Status}}' CONTAINER ID IMAGE COMMAND CREATED AT STATUS 53a9bc23a516 busybox "sh" 2017-01-04 13:11:59 -0800 PST Exited (0) 9 minutes ago