Docker占用资源过高,如何快速清理Docker?.doc

Docker占用资源过高,如何快速清理Docker?.doc

ID:27488293

大小:178.00 KB

页数:7页

时间:2018-12-04

Docker占用资源过高,如何快速清理Docker?.doc_第1页
Docker占用资源过高,如何快速清理Docker?.doc_第2页
Docker占用资源过高,如何快速清理Docker?.doc_第3页
Docker占用资源过高,如何快速清理Docker?.doc_第4页
Docker占用资源过高,如何快速清理Docker?.doc_第5页
资源描述:

《Docker占用资源过高,如何快速清理Docker?.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Docker占用资源过高,如何快速清理Docker?docker减肥记  如果经常使用docker,你会发现docker占用的资源膨胀很快,其中最明显也最容易被察觉的应该是对磁盘空间的占用。    如何快速的清理docker占用的系统资源,具体点说就是删除那些无用的镜像、容器、网络和数据卷…  1  查看docker占用的资源  在进行资源清理之前我们有必要搞清楚docker都占用了哪些系统的资源。  这需要综合使用不同的命令来完成。  dockercontainerls:默认只列出正在运行的容器,-a选项会列出包括停止的所有容器。  dock

2、erimagels:列出镜像信息,-a选项会列出intermediate镜像(就是其它镜像依赖的层)。  dockervolumels:列出数据卷。  dockernetworkls:列出network。  dockerinfo:显示系统级别的信息,比如容器和镜像的数量等。  通过这些命令查看docker使用的资源情况后,  相信你已经决定要清理docker占用的一些资源了!  2  让我们先从那些未被使用的资源开始。  只删除那些未被使用的资源  Docker提供了方便的dockersystemprune命令来删除那些已停止的容器、dangl

3、ing镜像、未被容器引用的network和构建过程中的cache:  $dockersystemprune    安全起见,这个命令默认不会删除那些未被任何容器引用的数据卷,如果需要同时删除这些数据卷,你需要显式的指定--volumns参数。比如你可能想要执行下面的命令:  $dockersystemprune--all--force--volumns  这次不仅会删除数据卷,而且连确认的过程都没有了!  注意使用--all参数后会删除所有未被引用的镜像而不仅仅是dangling镜像。  这里有必要解释一下何为danglingimages,其实

4、可以简单的理解为未被任何镜像引用的镜像。比如在你重新构建了镜像后,那些之前构建的且不再被引用的镜像层就变成了danglingimages:    在本地的镜像更新之后,就会出现类似图中红框内的镜像。这表示旧的镜像已经不再被引用了,此时它们就变成了danglingimages。如果使用-a参数,你还会发现另外一种类型的镜像,它们的repository和tag列都表现为:    这些镜像被称为intermediate镜像(就是其它镜像依赖的层)。  我们还可在不同在子命令下执行prune,这样删除的就是某类资源:  dockercontainerp

5、rune#删除所有退出状态的容器  dockervolumeprune#删除未被使用的数据卷  dockerimageprune#删除dangling或所有未被使用的镜像  3  让docker回到安装时的状态  这里的“安装时的状态”指资源占用情况而不是docker的相关配置。这也是一种比较常见的用例,比如就需要在一个干净的docker环境中自动化的还原出某天的一个生产环境(使用生产环境的备份数据)用于bug调查。  让我们一起来看看都需要做些什么?  回想我们前面介绍的dockersystemprune--all--force--volum

6、ns命令,如果在执行这个命令前系统中所有的容器都已停止,那么这个命令就会移除所有的资源!好,现在让我们想办法停掉系统中的所有容器。  dockercontainerstop命令可以停止一个或多个容器,我们只需要把系统中所有在运行的容器罗列出来就可以了。  由于docker并不介意我们再次停止一个已经停止了的容器,干脆简单粗暴点,直接列出所有的容器(包括已经停止的)!  $dockercontainerls-a-q    -a显示所有的容器,-q只显示数字形式的容器ID。  然后把这里命令执行的结果作为dockercontainerstop命令的

7、参数:  $dockercontainerstop$(dockercontainerls-a-q)  完整的恢复docker环境的命令如下:  $dockercontainerstop$(dockercontainerls-a-q)&&dockersystemprune--all--force--volumns  和前面的prune命令类似,也可以完全删除某一类资源:  删除容器:dockercontainerrm$(dockercontainerls-a-q)  删除镜像:dockerimagerm$(dockerimagels-a-q)  

8、删除数据卷:dockervolumerm$(dockervolumels-q)  删除network:dockernetworkrm$(dockern

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。