网站首页 > 基础教程 正文
docker现在基本是程序员电脑上占用空间最大的软件了。动辄四五十GB。256的Mac book表示伤不起。
那我们接下来看看如何做一下清理,来一个清爽的docker。
知己知彼
我们先来看下docker占用的情况
docker system df
上图共有四个部分
images:镜像部分
containers:容器部分
local volumes:本地卷部分
Build Cache:构建缓存部分
各个击破
1,镜像「image」
悬挂(dangling)镜像是未打标签或者未关联到容器的镜像,我们看下如何清理它们。
docker images -f dangling=true #查看所有悬挂镜像
docker image prune #清理所有悬挂镜像
docker image prune -a #清理所有未被目前存在容器所使用的所有镜像【这个比较彻底】
docker image prune -f #-f取消提示,直接执行清理
docker image prune -a --filter "until=24h" #--filter "until=24h",添加过滤条件
2,容器「container」
当你退出容器时,如果未使用--rm参数,该容器是不会删除的。该停止容器的可写层【writable layer】是会占用磁盘空间的。
docker container prune #清理停止容器
docker container prune -f #取消提示,直接执行清理
docker container prune --filter "until=24h" #添加清理条件,清理所有超过24H的已停止容器
3,数据卷「volume」
数据卷中包含我们的数据和文件,docker不会主动删除它们,所以它会占用我们空间。
docker volume prune #清理不被用到的数据卷
docker volume prune -f #取消提示,直接执行清理
docker volume prune --filter "label!=keep" #添加清理条件,清理所有没有keep标签的数据卷
4,网络「network」
网络配置不会占用太多空间,但是它会创建iptables规则,桥接网络设备【bridge network devices】和路由表规则。所以我们也可以清理掉不用的网络配置。
docker network prune #清理掉不被使用的网络配置
docker network prune -f #取消提示,直接执行清理操作
docker network prune --filter "until=24h" #添加清理条件
5,一键清理
docker提供了一个快捷方式,一键清理镜像,容器,网络。数据卷在docker版本17.06.1后,需要指定参数 --volumes ,之前是不需要的。
docker system prune #执行一键清理
docker system prume -f #取消提示,直接执行清理操作
docker system prune --volumes #docker 17.06.1版本之后,需要手动添加--volumes,才能清理数据卷。
清理结果
我的电脑,原来用了差不多60GB的空间,清理后,用掉40GB。好吧。作为升级了Mac pro16 500G的用户,已经没有256GB的痛了。
但是作为一个技术宅,干净的代码,干净的电脑才舒服。
猜你喜欢
- 2025-04-06 Docker/Compose常用命令整理总结(docker compose的作用)
- 2025-04-06 kubernetes pod为什么需要pause容器?
- 2025-04-06 Docker常用命令大全(常见的docker命令)
- 2025-04-06 docker+jenkins自动部署(jenkins docker-compose)
- 2025-04-06 Ubuntu 常用运维脚本大全(30个干货)
- 2025-04-06 Dify实战:解除Dify知识库上传文件15MB限制的
- 2025-04-06 网易回应“将关闭公有云”(网易云公共邮箱登陆首页)
- 2025-04-06 Docker 容器明文密码问题解决之道
- 2025-04-06 数据安全自主掌握!Ollama私有化部署模型,告别在线充值API烦恼
- 2025-04-06 【Docker】Docker删除容器、镜像、网络及数据卷操作命令
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)