时间:2021-05-02
如果你使用 docker 进行大规模开发,但是没有清理策略,那么你的磁盘马上就会被填满,当你真的必须因为产品火爆而要立即交付一些东西时,你就无法交付。
当我们在计算机中运行一个进程时,一旦这个进程完成,所有东西都会随之销毁。容器是我们现在很多人操作的基础设施。一切东西都运行在一个容器上,旨在每个容器有一个进程。当进程完成,容器就退出。但它不会自行清理。
Docker 积累的东西
你需要注意这些
如果有足够的空间,你可能不太关心磁盘空间,但是网络也很重要。默认地,Docker 使用 bridge 网络,它的极限是 31 个网络。当达到极限时,你会看到下面这条消息:
如果你是一个为每个项目创建一个网络的 docker-compose 重度用户,就会发生这种情况。你可以通过设置一个自定义--subnet子网来解决问题,例如:
但无论如何,本文的重点是清理。
使用 docker 清理
清理已经停止的容器
这会找到所有处于已退出(exited)状态的容器,一行一个地输出它们的 ID,以便我们可以将它提供给其它 shell 指令。
我们使用docker rm -v来删除任何匿名卷(没有显式名称的卷)。
清理磁盘卷
上面的命令应该删除与该容器关联的卷。如果你手动创建卷,并要删除任何未被使用的卷:
清理镜像
通常删除所有 Docker 镜像是安全的。我们可以在需要的时候按需获取。通常在一个镜像被清理后,构建时间会更长,因为 docker 守护进程需要花时间再次下载镜像
这里,我们使用了--force来强制删除镜像,即使一个容器正在使用那个镜像。我们可以以后再获取这个镜像。
清理网络
这很简单。我们可以删除任何网络,它会在之后按需重建。
使用 docker-compose 清理
如果你使用 docker-compose 启动容器,我们有一种简单的方法来清理与特定 compose 文件关联的资源。
不幸的是,这个命令不会删除匿名卷,因此你必须处理这些匿名卷。
一条命令解决所有问题
docker 是短暂的,我们总是可以重新获取镜像,为了开发重新创建我们的数据库,或者这只是一个持续集成系统,我们可以删除一切。
原文地址:https://mp.weixin.qq.com/s?__biz=MzA5NDg3MjAwMQ==&mid=2457112472&idx=1&sn=b803ee974d74c3c8d09026f237f717fa&chksm=87c82736b0bfae202faef66372e4ee00e37aaa0aad085faf3c95525fbfa0b3846df540ddb010&mpshare=1&
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在掌握了docker的基本命令之后,我也是想着去用docker做一点实际的配套环境,就拿自己最常用的lnmp环境来做测试。配套环境运行的顺序依次是mysql->
本文介绍了使用Docker搭建Django,Nginx,R,Python部署环境的方法,分享给大家,具体如下:基本环境:Ubuntu16.10docker17.
很多朋友会发现,电脑用久了变得越来越慢,这个时候怎么办呢?让我来给大家讲讲几种清理电脑的方法吧。方法1:清理软件清理利用清理软件清理电脑,这是人们最常用的方法,
excel导出在docker环境中总是失败,最直接的原因还是因为没有安装中文字体,解决方法如下:DOCKER环境中没有安装中文字体,需要安装java.lang.
Docker常用命令详细整理查看Docker信息(version、info)#查看docker版本$dockerversion#显示docker系统的信息$do