Docker 批量删除中间镜像缓存

Docker 批量删除中间镜像缓存

 

 

docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop

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

docker images|grep none|awk '{print $3 }'|xargs docker rmi

 

### 如何使用 Docker 删除项目或容器 #### 使用 `docker container prune` 命令删除所有停止的容器 对于 Docker 1.13 及以上版本,可以通过执行以下命令快速删除所有处于停止状态的容器: ```bash sudo docker container prune ``` 此命令会询问用户确认操作,并清除所有未运行的容器[^1]。 #### 批量删除所有未运行的容器 另一种方法是利用 `docker ps -a -q` 获取所有容器 ID 并通过 `docker rm` 进行批量删除。以下是具体实现方式: ```bash sudo docker rm $(sudo docker ps -a -q) ``` 上述命令能够一次性移除所有未启动的容器,而不会影响当前正在运行的实例[^2]。 #### 针对特定容器的手动删除 如果仅需删除某个具体的容器,则可先查询其ID或名称再单独处理。例如查看所有已退出的容器列表: ```bash docker ps -a --filter status=exited ``` 选定目标后执行如下语句完成单个容器的销毁工作: ```bash docker rm 容器名或ID ``` #### 清理关联资源——镜像与网络 当彻底清理某项目时,除了要关注容器外还需考虑其他依赖项如镜像和服务端口映射关系等。假设存在名为 "my_project_image" 的镜像,在确保没有任何活动中的容器引用它之前无法成功将其卸载;否则系统将会报错提示有残留连接。 一旦解决了这些约束条件就可以继续下一步骤: ```bash docker rmi my_project_image ``` 另外还可以选择强制选项忽略潜在冲突风险(-f参数),不过建议谨慎行事以免误删重要数据[^5]。 #### 自定义脚本自动化流程 为了简化重复性的维护任务,也可以编写简单的Shell脚本来封装整个过程逻辑。下面给出一个例子用于演示如何一键清空环境内的全部历史记录(包括但不限于闲置容器及其对应的基础镜像): ```bash #!/bin/sh echo "Stopping all running containers..." docker stop $(docker ps -q) echo "Removing all stopped containers..." docker rm $(docker ps -aq) echo "Deleting unused images..." docker rmi $(docker images -q -f dangling=true) read -p "Do you want to remove ALL IMAGES? (y/n)" choice case "$choice" in y|Y ) echo "Yes"; docker system prune -a ;; n|N ) echo "No"; exit;; esac ``` > **注意**: 上述脚本包含了交互环节让用户决定是否进一步扩展至全面重置模式(`docker system prune -a`),这将连同缓存片段一并抹去,请依据实际需求调整配置前做好充分备份准备! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值