清理docker 占用空间,volume挂载过大,清除镜像,容器,挂载数据

1.问题

我在 用docker安装的es使用过程中,发现内存沾满了,很难受,删除了容器和镜像后,内存还是占比了很多。发现是/var/lib/docker/volumes下面挂载了太多的数据。因为这个是我测试用的学习服务器,所以我把里面的东西全删了。【但有时候数据我们必须要使用,所以不能全删,需要指定删除,下面就是一些docker容器存储清理所需的一些命令和方法】

2.查看docker容器存储的命令

docker system df 【查看docker容器占用命令】
在这里插入图片描述

Images:所有镜像占用的空间,包括拉取下来的镜像,和本地构建的。
Containers:运行的容器占用的空间,表示每个容器的读写层的空间。
Local Volumes:容器挂载本地数据卷的空间。
Build Cache:镜像构建过程中产生的缓存空间(只有在使用 BuildKit 时才有,Docker 18.09 以后可用)

3.docker占用情况说明

3.1镜像占用

镜像是我们下载的可执行在docker容器里面的文件,比如mysql,nginx,java.jar等等

docker images        查看镜像文件
docker rmi -f 镜像id 删除镜像

3.2容器占用

容器是基于镜像打包好的一个可运行的系统。当我们在创建一个容器的时候下面两个目录就会出现数据
/var/lib/docker/containers/ID 目录所有日志都会以JSON形式保存到本机的此目录下。
/var/lib/docker/overlay2 【文件系统】基于容器文件系统保存的数据会写到本机的此目录下,

3.3volumes挂载占用

volumes数据卷,就是把容器内的数据连接到主机上的地址。

docker inspect 容器id可以查看容器挂载的目录在哪里
在对应的Mounts下面可以看到 "Destination" 是容器内目录 "Source" 是主机的目录地址

在这里插入图片描述

3.删除容器查看存储的相关命令

【查看当前目录下所有目录的磁盘占用情况】
du -h --max-depth=1
【删除关闭的容器、无用的数据卷和网络,以及 dangling 镜像(在构建镜像时产生的 tag 为 none 的镜像,没有和任何其他有 tag 的镜像有关联)】
docker system prune
【命令清理,该命令清理得更加彻底,可以将没有容器使用 Docker 镜像都删掉】
docker system prune -a // 谨慎操作
【查看目前在使用的volum】
docker volume ls
【删除目前没有容器使用的volume】
docker volume rm $(docker volume ls -q)
【命令可以查看某个 volume 的具体信息】
docker inspect volume名称
  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

军大君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值