限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

Docker 清理的常用方法

  • 2021-03-16
  • 本文字数:1073 字

    阅读完需:约 4 分钟

Docker清理的常用方法

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


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

Docker 积累的东西

你需要注意这些


  • 已经停止的容器

  • 磁盘卷

  • 镜像

  • 网络


如果有足够的空间,你可能不太关心磁盘空间,但是网络也很重要。默认地,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
复制代码


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

使用 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)
复制代码

使用 docker-compose 清理

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


docker-compose down --volumes --rmi all --remove-orphans
复制代码


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

一条命令解决所有问题

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


docker system prune --all --force --volumes
复制代码


原文链接:


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

2021-03-16 14:313607
用户头像

发布了 165 篇内容, 共 81.0 次阅读, 收获喜欢 343 次。

关注

评论

发布
暂无评论
发现更多内容

【数据库审计】2023年数据库审计厂家汇总

行云管家

数据库 数据库审计 等保合规

聊聊技术之外的面试问题-上

老张

面试 职业规划 职业发展

API接口安全运营研究

Noah

API接口文档 API 安全 API接口安全

第一个程序:HelloWorld——IDEA 使用

小齐写代码

关系数据库SQL

Frank

sql

MQ技术比较

周晓宁

WorkPlus定制化的局域网会议软件,提供安全稳定的会议体验

BeeWorks

八股乱背,力扣不会!下辈子远离计算机

王磊

Java java面试

利用美国服务器增加线上业务的客户人群

一只扑棱蛾子

服务器 美国服务器

安全高效的政企内部通讯解决方案WorkPlus IM平台

BeeWorks

百万架构师亲码的亿级流量下的分布式限流解决方案

小小怪下士

Java 程序员 高并发 秒杀

测试小白必掌握软件测试十大原则

优测云服务平台

软件测试 测试技术 软件测试工具 软件测试技能 测试能力

用友全球司库十问(四)|企业如何实现融资债券数据信息的实时监控?

用友BIP

全球司库

超越React,JS代码体积减少90%!它为何是2023年最好的Web框架?

互联网工科生

Vue React Web框架 Astro

当 AI 成为“逆子”;强化学习之父联手传奇程序员丨 RTE 开发者日报 Vol.62

声网

中国机械总院张红新:强化集团级数据治理 业财融合助力企业降本增效

用友BIP

业财融合 2023全球商业创新大会

企业门户的必备选择,WorkPlus的定制化解决方案

BeeWorks

云管理平台基本功能有哪些?适配国产化平台吗?

行云管家

云计算 信创 国产化 云管平台 云管理

WorkPlus即时通讯app打通业务与生态,实现高效管理与协同

BeeWorks

2023 KiCon Asia 11月12日 深圳见!

华秋电子

kicad

WorkPlus国产化即时通讯工具:安全可靠的国内沟通利器

BeeWorks

优化模型之“显示置信度”

矩视智能

深度学习 机器视觉

使用 Databend Kafka Connect 构建实时数据同步

Databend

手敲,Ascend算子开发入门笔记分享

华为云开发者联盟

人工智能 华为云 算子开发 华为云开发者联盟 自定义算子

云小课|MRS基础操作之集群健康检查

华为云开发者联盟

大数据 后端 华为云 华为云开发者联盟 华为云云小课

好用的图书阅读器 OmniReader Pro激活中文版

胖墩儿不胖y

Mac软件 图书阅读工具 图书阅读

亚马逊云科技2023柏林峰会主题演讲总结

亚马逊云科技 (Amazon Web Services)

Amazon AIGC

Docker清理的常用方法_服务革新_Hanami_InfoQ精选文章