码头工人容器修剪

描述

取出所有停止的容器

API 1.25+  客户端和守护程序API都必须至少为 1.25, 才能使用此命令。docker version在客户端上使用命令检查客户端和守护程序API版本。

用法

$ docker container prune [OPTIONS]

扩展说明

删除所有停止的容器。

有关此命令的示例用法,请参阅下面的示例部分

选项

名称,简写 默认 描述
--filter 提供过滤器值(例如'until = <timestamp>')
--force-f 不提示确认

例子

修剪容器

$ 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

筛选

过滤标志(--filter)格式为“键=值”。如果有多个过滤器,则传递多个标志(例如--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午夜)以来经过的秒数,不计算leap秒(又名Unix纪元或Unix时间),以及可选的。纳秒字段是一秒的分数,长度不超过9位数。

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

上级命令

命令 描述
码头集装箱 管理容器
命令 描述
docker容器附加 将本地标准输入,输出和错误流附加到正在运行的容器
docker容器提交 根据容器的更改创建新图像
docker容器cp 在容器和本地文件系统之间复制文件/文件夹
docker容器创建 创建一个新的容器
docker容器差异 检查容器文件系统上文件或目录的更改
docker容器执行 在正在运行的容器中运行命令
码头集装箱出口 将容器的文件系统导出为tar存档
码头集装箱检查 显示一个或多个容器的详细信息
码头工人集装箱杀 杀死一个或多个正在运行的容器
docker容器日志 获取容器的日志
docker容器ls 列出容器
docker容器暂停 暂停一个或多个容器中的所有进程
码头集装箱港口 列出端口映射或容器的特定映射
码头工人容器修剪 取出所有停止的容器
docker容器重命名 重命名容器
docker容器重启 重新启动一个或多个容器
docker容器rm 取出一个或多个容器
docker容器运行 在新容器中运行命令
docker容器启动 启动一个或多个已停止的容器
docker容器统计信息 显示容器资源使用情况统计信息的实时流
码头集装箱停靠站 停止一个或多个运行中的容器
码头集装箱顶部 显示容器的运行过程
docker容器取消暂停 取消暂停一个或多个容器中的所有进程
docker容器更新 更新一个或多个容器的配置
码头集装箱等待 阻塞直到一个或多个容器停止,然后打印其退出代码