首页 > 其他分享 >Go每日一库之138:dive(Docker 镜像分析)

Go每日一库之138:dive(Docker 镜像分析)

时间:2023-09-29 21:12:38浏览次数:40  
标签:分析 dive 一库 Go 镜像 Docker 138

什么是 dive?

用于探索 Docker 镜像、每一层中的内容以及发现缩小 Docker/OCI 镜像大小的方法的工具。

安装 dive

go get github.com/wagoodman/dive

dive 特性

  • 按层分解 Docker 镜像
  • 可视化展示每一层变化
  • 分析镜像空间使用百分比
  • 快速构建分析镜像
  • 支持多种镜像源和容器引擎

入门使用

dive <image_name>:<image_tag>

按层分解 Docker 镜像并且能可视化的展示了每一层做了什么事情。

也可以基于 Dockerfile 快速构建分析。

dive build -t <some-tag> .

或者基于 docker 压缩文件镜像

dive docker-archive://<your-image>

References

标签:分析,dive,一库,Go,镜像,Docker,138
From: https://www.cnblogs.com/arena/p/17737347.html

相关文章

  • Go每日一库之137:easeprobe(探活工具)
    服务探活在现实场景中应用广泛,比如:服务发现、服务负载均衡、服务调度、服务状态监控等。然而,“探活”往往是作为一个功能模块或者组件集成在各个平台系统中。本次要介绍的easeprobe是一款轻量级的,可独立运行的探活工具,利用easeprobe,无需其他系统支持,就可以对多种类型的服务/中间件......
  • Go每日一库之136:gopherjs(将Go代码编译成JS)
    简介GopherJS可以将Go代码编译成纯JavaScript代码。其主要目的是为了让你可以使用Go来编写前端代码,这些代码可执行在浏览器上运行。你可以通过这里尝试下GopherJS:GopherJSPlayground.例如JavaScript代码:document.write("Hello world!");用GopherJS来写就变成这......
  • Go每日一库之135:Ent(Facebook 开源 Golang 实体框架)
    对于后端开发者来说,一款好用的框架能够大大提升应用的开发效率。为了降低开发者使用TiDB的门槛,方便开发者快速连接到TiDB,我们也在和合作伙伴一起,逐步完善面向主流开发语言和框架的连接支持。近日,Facebook开源的Golang实体框架Ent完成了对TiDB数据库的支持。Ent是......
  • Go每日一库之134:fsm(基有限状态机库)
    开发中,我们经常会遇到这种情况,服务模块有多种状态,它们有一定的顺序,先后执行,逐步切换。这时,fsm这个库可以帮助我们更好的管理多个状态。fsm库,它主要基于两个FSM实现,增加了golang版本的实现:JavascriptFiniteStateMachine,https://github.com/jakesgordon/javascript-state-ma......
  • Go - Using Log Levels
    Examplesofloglevelsfromhightoloware:•Fatal•Error•Warn•Info•DebugTosetuploglevelsforyourlogs,youcanaddtheleveltoeachlineofthelog.ThemoststraightforwardwayofdoingthisistousetheSetPrefixfunction:log.S......
  • 内网离线安装docker并配置使用nexus为docker私服
    背景本文简单记录下最近在内网服务器离线安装docker及配置nexus作为docker私服,踩的一些坑。docker和k8s这块技术我跟得不是很紧,18年的时候用过一阵docker,后来发现它并不能解决当时我们遇到的问题,后来就没用了,再一个就是,在宿主机上啥命令都有,也太爽了,反观docker里面啥命令都没有,痛......
  • CF1425F Flamingoes of Mystery 题解
    题目传送门前置知识前缀和&差分解法令\(sum_k=\sum\limits_{i=1}^{k}a_k\)。考虑分别输入\(sum_2\simsum_n\),故可以由于差分知识得到\(a_i=sum_i-sum_{i-1}(3\lei\len)\),接着输入\(a_2+a_3\)的值从而求出\(a_2=sum_3-a_3,a_1=sum_2-a_2\)。同时因为是交互题,记......
  • Go - Logging to File
    Problem: Youwanttologeventstoalogfileinsteadofstandarderror.Solution: UsetheSetOutputfunctiontosetthelogtowritetoafile. YouuseSetOutputtoredirecttheoutputtoafile.file,err:=os.OpenFile("app.log"......
  • Go - Change What Is Being Logged by the Standard Logger
    Problem: Youwanttochangewhatthestandardloggerlogs.Solution: UsetheSetFlagsfunctiontosetflagsandaddfieldstoeachlogline. Thedefaultbehaviorofthestandardloggeraddsthedateandtimefieldstoeachlineofthelog. Thelogpac......
  • Go - logging
    Thelogpackageprovidesseveralfunctionsthatallowyoutowritelogs.Inparticular,therearethreesetsoffunctions:Print•PrintsthelogstotheloggerFatal•Printstotheloggerandcallsos.Exitwithanexitcodeof1Panic•Printstothelo......