谁用光了磁盘?码头工人系统命令详解

  

<强>译者按:码头工人镜像,容器,数据卷以及网络都会占用主机的磁盘空间,这样的话,磁盘很容易就会被用完。这篇博客介绍了一个简单的解决方案——<强>码头工人系统命令

  
      <李>   

    原文:吃我的磁盘吗?码头工人系统命令解释

      李   <李>译者: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/

谁用光了磁盘?码头工人系统命令详解