Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍Docker CLI 中 docker container prune 常用命令。

1、docker container prune简介

docker container prune可以移除所有停止的容器。

参考文档:https://docs.docker.com/engine/reference/commandline/container_prune/

2、docker container prune语法

docker container prune [OPTIONS]

3、选项说明

命令

描述

--filter

提供过滤器值 (例如,until=<timestamp>)

--force , -f

不提示确认

4、docker container prune命令

1)删除容器

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

2)过滤(--filter)

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

目前支持的过滤器有:

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

label (label=<key>, label=<key>=<value>, label!=<key>, 或 label!=<key>=<value>) 只移除带有(或不使用label!=...)指定的标签。

删除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

5、子命令

命令

描述

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

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

显示容器资源使用统计数据的实时stream

docker container stop

停止一个或多个正在运行的容器

docker container top

显示容器正在运行的进程

docker container unpause

取消暂停一个或多个容器中的所有进程

docker container update

更新一个或多个容器的配置

docker container wait

阻塞直到一个或多个容器停止,

然后打印它们的退出代码

推荐文档

相关文档

大家感兴趣的内容

随机列表