docker 删除_Docker批量操作(启停、删除、归档、加载)

一、实现基础

首先认识两个选项,-q 和 -f

语法:docker ps/images [OPTIONS]

938373b4a024f48db4764c1e5a3e5e2b.png
仅输出数字ID

7fc45757d9024e66c5f5162777e65bb6.png
根据提供的条件过滤输出

二、实现过程

样例1:显示所有容器的ID

# docker ps -aq
157209f40041
36de78881507
f84a622c67a4
3565f4c1690b
c0278ae2a869
......

样例2:在所有容器中,过滤出状态是“exited”

# docker ps -a -f status=exited
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                          PORTS               NAMES
157209f40041        96047edc008f        "/usr/local/bin/flex…"   About a minute ago   Exited (0) About a minute ago                      ...
36de78881507        c71c24a0b1a2        "/install-cni.sh"        About a minute ago   Exited (0) About a minute ago                       ...
f84a622c67a4        c71c24a0b1a2        "/opt/cni/bin/calico…"   About a minute ago   Exited (0) About a minute ago                      ...

样例3:综合运用“条件过滤”和“仅输出ID”

# docker ps -a -q -f status=exited
157209f40041
36de78881507
f84a622c67a4

样例4:将符合条件的ID作为参数传入

# docker rm $(docker ps -a -q -f status=exited)
157209f40041
36de78881507
f84a622c67a4

三、综合运用

思路总结如上述,接下来列举一些常见批量化组合操作:

列出所有的容器 IDdocker ps -aq
停止所有的容器docker stop $(docker ps -aq)

删除所有的容器

docker rm $(docker ps -aq)

删除“已退出”的容器

docker rm $(docker ps -q -f status=exited)

四、其它实现方式(prune)

# docker image prune --help

Usage:	docker image prune [OPTIONS]
Remove unused images

Options:
  -a, --all             Remove all unused images, not just dangling ones
      --filter filter   Provide filter values (e.g. 'until=<timestamp>')
  -f, --force           Do not prompt for confirmation

移除未使用的镜像

# docker container prune --help

Usage:	docker container prune [OPTIONS]
Remove all stopped containers

Options:
      --filter filter   Provide filter values (e.g. 'until=<timestamp>')
  -f, --force           Do not prompt for confirmation

同理,容器方面是移除所有已停止的

五、其它实现方式(grep)

过滤符合条件的容器,并截取ID

docker ps | grep 'PATTERN' | awk '{print $1}'

过滤符合条件的镜像,并截取ID

docker images | grep 'PATTERN' | awk '{print $3}'

六、镜像批量化归档,shell实现

#!/bin/bash

七、归档文件批量导出为镜像,shell实现

#!/bin/bash
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值