<强>译者按:强>码头工人镜像,容器,数据卷以及网络都会占用主机的磁盘空间,这样的话,磁盘很容易就会被用完。这篇博客介绍了一个简单的解决方案——<强>码头工人系统命令强>。
-
<李>
原文:吃我的磁盘吗?码头工人系统命令解释
李> <李>译者:Fundebug李><强>为了保证可读性,本文采用意译而非直译。强>
用了一段时间码头工人后,会发现它占用了不少硬盘空间。还好码头工人1.13引入了解决方法,它提供了简单的命令来查看/清理码头工人使用的磁盘空间。
本文通过一个简单的示例,可以证明码头工人能够很快地将磁盘占满。该示例通过play-with-docker.com运行。点击<强> 强>添加新实例即可创建新的实例,该实例安装了最新版的码头工人17.03。这篇博客主要讨论磁盘空间,那么不妨使用df命令查看磁盘的初始状态:
<代码类=" language-bash ">美元df - h 文件系统大小可以使用%安装>从高山 运行dd if=/dev/0=1 g1。img b=1 g数=1 运行dd if=/dev/0=1 g2。img b=1 g数=1 运行dd if=/dev/0=1 g3。img b=1 g数=1 CMD/bin/true 代码>
运行<强>码头工人构建- t测试。强>即可创建镜像,执行完成后将生成一个3 gb的镜像。
<代码类=" language-bash "> $ ls码头工人形象 库创建的标签尺寸 测试最新38秒之前3.23 gb 高山最新5周前3.99 mb 代码>
不难理解,该镜像占用了相应大小的磁盘空间。
<代码类=" language-bash ">美元df - h 文件系统大小可以使用%安装>从高山 运行回声foo 运行dd if=/dev/0=1 g1。img b=1 g数=1 运行dd if=/dev/0=1 g2。img b=1 g数=1 #运行dd if=/dev/0=1 g3。img b=1 g数=1 CMD/bin/true 代码>
本来以为这样可以节省1 gb磁盘空间,然而实际情况更加糟糕!
<代码类=" language-bash ">美元df - h 文件系统大小可以使用%安装> $码头工人df系统 总活性大小可收回的类型 图片3 0 5.373 gb 5.373 gb (100%) 容器0 0 0 0 b 本地卷0 0 0 0 b 代码>
可知,实例上一共有3个码头工人镜像:apline镜像,包含3个1 gb随机文件的镜像以及包含2个1 gb随机文件的镜像。这些镜像占用了超过5 gb磁盘空间。由于我们并没有基于这些镜像运行容器,所以它们都可以被删除,所以可回收的(可收回的)磁盘空间为100%。使用<强>码头工人运行测试>强运行测试镜像再查看:
<代码类=" language-bash ">美元码头工人df系统 总活性大小可收回的类型 图片3 1 5.373 gb 3.225 gb (60%) 容器1 0 0 0 b 本地卷0 0 0 0 b 代码>
现在情况就不同了,我运行了一个容器,它执行<强>/bin/真正的强>之后就很快退出了。这个容器绑定了测试镜像,测试镜像被标记为活跃(主动)因而不能被删除,这导致可回收的磁盘空间变少了。
现在来清理一下磁盘空间.Docker提供了<强>码头工人系统删除>强,可以用于清理悬空镜像(参考是什么码头工人& lt; none>: & lt; none>图片?)和容器,以及失效的数据卷和网络。
<代码类=" language-bash ">美元码头工人系统删除 警告!这将删除: ——所有停止容器 ——所有卷不习惯至少>系统码头工人修剪——美元 警告!这将删除: ——所有停止容器 ——所有卷不习惯至少>美元df - h 文件系统大小可以使用%安装使用alt="谁用光了磁盘?码头工人系统命令详解">版权声明
转载时请注明作者Fundebug以及本文地址:https://blog.fundebug.com/2017/04/19/docker-system-explain/
谁用光了磁盘?码头工人系统命令详解