docker container prune
docker container prune
描述
移除所有停止的容器
使用
docker container prune [OPTIONS]
备选方案
名字,简写 | 默认值 | 描述 |
---|---|---|
--filter | | 给出filter的值 (e.g. ‘until= ') |
--force, -f | false | 不提示确认 |
父命令
命令 | 描述 |
---|---|
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的时间戳,日期格式的时间戳,或持续时间字符串(例如,去10m
,1h30m
)计算相对于守护机器的时间。支持的格式为日期格式时间戳包括RFC3339Nano,RFC3339, ,2006-01-02T15:04:05
,2006-01-02T15:04:05.999999999
,2006-01-02Z07:00
和2006-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