Docker清理的常用方法

点击上方 "编程技术圈"关注, 星标或置顶一起成长

后台回复“大礼包”有惊喜礼包!

日英文

Be yourself, don\'t change for anyone. If they don\'t like you at your worst, then they don\'t deserve you at your best.

勇敢的做自己,不要为任何人而改变。如果他们不能接受最差的你,也不配拥有最好的你。

每日掏心话

生死转换于倾刻,穷人与富人同行,少年与老人携手,恩人与仇人同去,平民与官员共趋,抹平了恩怨情仇,埋葬了利禄功名。

责编:乐乐 | 来自:架构头条

编程技术圈(ID:study_tech)第 1174 次推文

往日回顾:这才是全球最大的色情网站,Pornhub !!!

     

   正文   

作者 | Hanami

译者 | 张健欣

策划 | 万佳

如果你使用 docker 进行大规模开发,但是没有清理策略,那么你的磁盘马上就会被填满,当你真的必须因为产品火爆而要立即交付一些东西时,你就无法交付。

当我们在计算机中运行一个进程时,一旦这个进程完成,所有东西都会随之销毁。容器是我们现在很多人操作的基础设施。一切东西都运行在一个容器上,旨在每个容器有一个进程。当进程完成,容器就退出。但它不会自行清理。

1Docker 积累的东西

你需要注意这些:

  • 已经停止的容器

  • 磁盘卷

  • 镜像

  • 网络

如果有足够的空间,你可能不太关心磁盘空间,但是网络也很重要。默认地,Docker 使用 bridge 网络,它的极限是 31 个网络。当达到极限时,你会看到下面这条消息:

could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network

如果你是一个为每个项目创建一个网络的 docker-compose 重度用户,就会发生这种情况。你可以通过设置一个自定义--subnet子网来解决问题,例如:

docker network create dada --subnet 192.167.11.0/24

但无论如何,本文的重点是清理

2使用 docker 清理

 清理已经停止的容器

docker rm -v $(docker ps --all --quiet --filter 'status=exited')

这会找到所有处于已退出(exited)状态的容器,一行一个地输出它们的 ID,以便我们可以将它提供给其它 shell 指令。

我们使用docker rm -v来删除任何匿名卷(没有显式名称的卷)。

 清理磁盘卷

上面的命令应该删除与该容器关联的卷。如果你手动创建卷,并要删除任何未被使用的卷:

docker volume rm $(docker volume ls --quiet --filter 'dangling=true')

 清理镜像

通常删除所有 Docker 镜像是安全的。我们可以在需要的时候按需获取。通常在一个镜像被清理后,构建时间会更长,因为 docker 守护进程需要花时间再次下载镜像

搜索后端架构师公众号回复“架构整洁”,送你一份惊喜礼包。

docker rm --force $(docker images --quiet)

这里,我们使用了--force来强制删除镜像,即使一个容器正在使用那个镜像。我们可以以后再获取这个镜像。

 清理网络

这很简单。我们可以删除任何网络,它会在之后按需重建。

docker network rm $(docker network ls --quiet)

3使用 docker-compose 清理

如果你使用 docker-compose 启动容器,我们有一种简单的方法来清理与特定 compose 文件关联的资源。

docker-compose down --volumes --rmi all --remove-orphans

不幸的是,这个命令不会删除匿名卷,因此你必须处理这些匿名卷。

4一条命令解决所有问题

docker 是短暂的,我们总是可以重新获取镜像,为了开发重新创建我们的数据库,或者这只是一个持续集成系统,我们可以删除一切。

docker system prune --all --force --volumes

原文链接:

https://hanami.run/blog/posts/cleanup-docker/

PS:欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,欢迎转发分享给更多人。

版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!

欢迎加入后端架构师交流群,在后台回复“学习”即可。

猜你还想看

阿里、腾讯、百度、华为、京东最新面试题汇集

它们把色情版 “微信” 的底裤都给挖出来了,网友: 草率了。。。

Nginx为什么快到根本停不下来?

程序员离职后躲老家山洞 2 年,敲出 45 万行代码...

BAT等大厂Java面试经验总结

别找了,想获取 Java大厂面试题学习资料

扫下方二维码回复「手册」就好了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值