首页 > 其他分享 >批量删除docker过期停止的容器(全)

批量删除docker过期停止的容器(全)

时间:2023-04-25 16:56:30浏览次数:50  
标签:容器 批量 删除 ps 过期 docker id

 过期的容器也是占用一部分的内存空间

docker ps -a查看很多冗余过期的容器  

这时候如果对应一个个删除容器id,有些麻烦,有没有方法对应将其批量删除呢
答案:有的,本身命令行都是基于bash命令,可通过查询其容器,筛选其容器id,并将这部分容器进行删除即可

关于docker的详细知识点可看我之前的文章:

https://blog.csdn.net/weixin_47872288/article/details/118548308

 

关于bash的一些基本脚本学习可看我之前写过的文章:
1.leetcode中关于shell的四道编程:【leetcode】shell四道题的专栏含讲解
2.实操docker内部的Dockerfile:Gitlab CI/CD教程以及实战docker自动部署前端项目(全)

 

1. 方法一(推荐)

类似脚本的语言,查询docker容器,grep查询过期(exited)的容器,筛选过期容器的id,并且删除该容器的id

docker rm `docker ps -a|grep Exited|awk '{print $1}'

或者通过删除未打标签镜像的id,类似一个道理

docker rmi $(docker images -q -f dangling=true)

 

2. 方法二(推荐)

查询容器docker ps -a
研究其具体显示的参数,根据bash的命令对应其特征删除即可

docker rm $(sudo docker ps -qf status=exited) 


3. 方法三

 

前言知识:
我们知道删除docker的所有镜像,通过如下命令:

docker rmi 删除镜像
docker rmi -f 容器id
docker rmi -f 容器id 容器id 容器id
docker rmi -f $(docker images -aq)递归遍历删除所有的镜像
通过上面的启发可得知,删除所有已经停止的容器可通过:(已经运行的删除不掉)

docker rm $(docker ps -a -q)

如果删除运行的容器可通过:

 

docker kill $(docker ps -a -q)

 

4. 方法四

 

这个方法也是从网上看到的,还未尝试
可以通过docker containers prune删除孤立的容器,对应将其过期停止的容器删除掉

 

标签:容器,批量,删除,ps,过期,docker,id
From: https://www.cnblogs.com/psy-sdudio/p/17353137.html

相关文章

  • Ubuntu 安装Docker 并配置镜像加速
    环境UbuntuServer18.04.1LTS64bitUbuntu查看版本参考链接Docker安装对Ubuntu版本要求Docker安装卸载原有的版本sudoapt-getremovedockerdocker-enginedocker.iocontainerdrunc首次安装配置Dockerrepository升级apt,并允许通过HTTPS使用存储库sudoap......
  • 使用Dockerfile部署springboot打包jar包
    1、docker下载JDK1.8镜像dockerpulljava:82、编写Dockerfile文件#依赖的父镜像FROMjava:8#作者MAINTAINERdocker-admin#jar包添加到镜像中ADDxxl-job-admin-2.1.2.jarxxl-job-admin.jar#容器暴露的端口即jar程序在容器中运行的端口EXPOSE8080#容器启动之后......
  • 如何在dockerfile中降apt-get源更换为中国国内源
    注意要确认自己的系统是debian还是ubutnu,这两个系统的源是完全不一样的在Dockerfile中将apt-get源更换为中国国内源,您可以通过以下步骤完成:在Dockerfile的开头添加以下内容:#设置为中国国内源RUNsed-i's/archive.ubuntu.com/mirrors.aliyun.com/g'/etc/apt/sources.list......
  • DOCKER 基础镜像
    DOCKER基础镜像  转至元数据结尾 Createdby 蒋颖伟,lastmodifiedby mike on 三月15,2019转至元数据起始  1、不带jdk的基础镜像的dockerfileFROM ubuntuMAINTAINERlstar [email protected] #更换源可以是阿里云、网易、搜狐的源,默认源也......
  • Docker Registry使用
    1.本地主机访问DockerHub镜像地址:https://hub.docker.com/_/registry/tags官网:https://docs.docker.com/registry参考:https://docs.docker.com/registry/deployingdockerpullregistry:2.8.1dockervolumecreate--nameregistrydockerrun-d-vregistry:/var/lib/reg......
  • 云原生之使用Docker部署PESMCS Ticket工单系统
    (云原生之使用Docker部署PESMCSTicket工单系统)一、PESMCSTicket介绍PESMCSTicket是一款基于GPLv2协议发布的开源客服工单系统。二、检查本地系统环境1.检查系统版本[root@node~]#cat/etc/os-releaseNAME="CentOSLinux"VERSION="7(Core)"ID="centos"ID_LIKE=......
  • powershell过滤当月过期用户
    echo"默认开始日期为【1】号|默认结束日期为【下月1】号"#获取过滤数据的月份$Start_Time =Read-Host"请输入开始月份"$End_Time =Read-Host"请输入结束月份"#假如用户需要的五月份的数据,结束月份加1,结束日期默认为1号$monthNum=[int]$End_Time#如果月份小于12,则......
  • win环境基于docker搭建zookeeper伪集群
    创建路径:D:\Docker\zk-cluster在此路径下创建配置文件:docker-compose.ymlversion:'2'networks:zk-net:name:zk-netservices:zoo1:image:zookeeperrestart:alwayscontainer_name:zoo1ports:-"21......
  • linux批量处理脚本
    1.批量Killps-ef|grepjava|grep-vgrep|awk'{print$2}'|xargskill-92.统计进程数ps-ef|grepjava|grep-vgrep|awk'{print$2}'|wc3.批量打开防火墙端口1#!/bin/sh2ports=$13echo"$ports"4IFS=''5rea......
  • docker跨主机容器访问docker+weave
    这玩意是真的折磨,不难,但是网上的教程太杂了,坑太多了。需求现在有两台服务器,里面部署了两台docker,此时我想要用Adocker里面的容器去访问Bdocker里面的容器。1.A主机192.168.159.140#安装weave#先下载wget-O/usr/local/bin/weavehttps://raw.githubusercontent.com/zettio......