docker 根据镜像名称查找容器并删除

docker ps -f(--filter) 命令详解

过滤器:过滤标志(-f或-filter)格式为key=value,如果超过一个过滤,就传递多个标志(如-filter "foo=bar" -filter "bif=baz")
目前支持的过滤有如下这些
id (容器的id)
label
name(容器名称)
exited (整数-容器退出状态码,只有在使用-all才有用)
status 容器状态(created,restarting,running,paused,exited,dead)
ancestor ([:],or) 过滤从指定镜像创建的容器
before (容器的名称或id),过滤在给定id或名称之后创建的容器
isolation (default process hyperv) (windows daemon only)
volume (数据卷名称或挂载点),--过滤挂载有指定数据卷的容器
network(网络id或名称),过滤连接到指定网络的容器
--format 为格式化输出。格式化选项(-format) 使用go模板来美化打印容器输出
例:docker container ps -f "name=myimg" 过滤容器名字为myimg的容器
before和since,只的是在某一个容器创建的时间之前或之后的容器
docker kill $(docker container ps -f "network=wordpress_default"  --format {
   
   {.Names}})
go模板
.ID 容器的ID
.Image 镜像的ID
.Command  容器启动的命令
.CreatedAt 创建容器的时间点
.RunngingFor 从容器创建到现在过去的时间
.Ports 暴露的端口
.Status 容器的状态
.Size 容器硬盘的大小
.Names 容器的名称
.Label 指定label的值
.Mounts 挂载到这个容器的数据卷名称

docker根据镜像名获取同一镜像名生成的所有容器:

docker ps -a --no-trunc  --filter ancestor=hello-world

docker根据镜像名来删除容器:

docker rm -f $( docker ps -aq --no-trunc  --filter ancestor=hello-world)

$符包围的是根据镜像查询的容器的id。

在$中,-q表示只显示容器id。

--filter表示根据条件筛选,ancestor=image-name表示选择镜像名为image-name的容器。

例如,我们这里有一个名为hello-world的镜像,我们可以这样强行删除它,无论它是否运行。

Guess you like

Origin blog.csdn.net/fish_study_csdn/article/details/120668053