本文详细介绍了如何清理Docker占用的储藏室空。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。
Docker占用了很多室内空房间。每次你 *** 作容器,获取镜像,部署镜像,构建自己的镜像,你的存储空房间都会被很多人占用。
如果你被这个问题搞糊涂了,那我们就来看看Docker是如何使用储藏室空以及如何获取的。
docker占用的室内空房间可以按照以下说明进行查询:
$dockersystemdf类型列出了docker应用程序硬盘的四种类型:
最终的可回收大小是可回收的。
下面我们就来看看这许多种。
容器的硬盘占用
每次创建容器时,都会创建一些文档和文件目录,例如:
现在大家刚开始用一个彻底干净的系统软件,假设docker马上就要安装了:
首先,启动一个NGINX容器:
现在,运行df命令后,您将看到:
此时没有可回收的室内空房间,镜像正在应用,因为容器在运行。
今天,我们在容器中构建了一个100MB空的文档:
$dockerexec-tiwww\ ddif=/dev/zeroof=test.imgbs=1024count=0seek=$[1024*100]再次检查房间空:
可以看到,容器空所占的房间升级了。此文档存储在此设备的什么位置?
如上所述,它存储在容器的读写层中。
当集装箱被终止时,集装箱所占据的室内房间空将变得可回收:
怎么买?删除容器时,其关系的识字层所占用的室内空房间将被删除。
您也可以一键删除所有长终止容器:
$dockercontainerprune删除容器后,还可以获取镜像:
上面的docker容器清理命令用于删除终止的容器。如果您想删除所有容器(包括已终止和已运行的容器),您可以应用以下两个命令:
$dockerrm-f$(dockerps-aq) $dockercontainerrm-f$(dockercontainerls-aq)镜像硬盘占用
有些镜子是隐藏的:
以下说明列出了所有悬挂情况的镜像:
$dockerimagels-fdangling=true删除这种图像:
$dockerimagerm$(dockerimagels-fdangling=true-q)或者:
$dockerimageprune如果要删除所有图像,可以应用以下命令:
$dockerimagerm$(dockerimagels-q)请注意,不能删除已由容器应用的图像。
硬盘占用数据信息量
数据卷是容器本身的文档系统之外的数据存储。
比如容器里的应用有上传照片的功能。提交后,毫无疑问是无法存储在容器内部的。因为容器内部的数据信息会随着容器的死亡而被删除,所以照片要存放在容器外部,也就是数据信息量。
比如大家运行一个MongoDB容器进行测试,这就引出了很多数据测试。这种数据信息不在容器中,而是在数据信息量中,因为数据信息量是应用在MongoDB的Dockerfile中的。
测试结束后,MongoDB容器被删除,但是数据测试还在,没有被删除。
删除尚未应用的数据信息量:
$dockervolumerm$(dockervolumels-q)或者:
$dockervolumeprune构建缓存的硬盘占用
Docker18.09导入了BuildKit,提高了构建全过程的特性、安全性、存储系统等工作能力。
删除构建缓存可以应用指令:
$dockerbuilderprune一键清洗
根据上面的指示,我们都知道容器、镜像、数据信息卷都出现了子指令prune,帮助你获取室内空房间。
其实docker系统软件还有一个子指令prune,可以一键清理不活跃的室内空房间:
$dockersystemprune按时执行这个指令是一个好习惯。
中文翻译自:
https://medium.com/better-programming/docker-tips-clean-up-your-local-machine-35f370a01a78
文章里的内容就这些了。期待对大家的学习和培训有所帮助,也期待大家的应用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)