Go項目推薦:利器 — 一個開源工具探究 Docker 鏡像的世界
當前 Docker 的火熱程度毋庸置疑。我們都知曉 Docker 的鏡像是基于層的概念構(gòu)建的。如何讓鏡像更小,一直是大家關(guān)注的,網(wǎng)上也有很多最佳實踐。有沒有好的工具可以幫我們分析鏡像,讓我們可以更清晰得看到鏡像的各個層?
今天推薦一個這樣的開源工具,用于探索 Docker 鏡像,各層內(nèi)容以及發(fā)現(xiàn)縮小 Docker/OCI 鏡像大小的方法。這個工具就是:dive。
工具地址:https://github.com/wagoodman/dive,Star 數(shù):22k+。
這個工具可以清晰得看到鏡像每一層都包含哪些內(nèi)容,方便你分析是否有必要,如下圖所示。

特性
該工具的主要特性包括:
按層顯示 Docker 鏡像內(nèi)容; 指出每一層的變化; 評估 “鏡像的效率”; 快速的構(gòu)建/分析周期; 和 CI 集成; 支持多個鏡像和容器引擎:比如 docker、docker-archive 和 podman;
安裝和使用
根據(jù)你的系統(tǒng),可以選擇不同的安裝方式。作者為不同系統(tǒng)準備了編譯好的可執(zhí)行程序,比如 MacOS 可以這么安裝:
$?brew?install?dive
你也可以通過發(fā)布頁獲得對應(yīng)的文件:https://github.com/wagoodman/dive/releases。
此外,如果你有 Go 開發(fā)環(huán)境,可以通過源碼編譯安裝。
對了,還可以通過 docker 安裝哦,比如:
$?docker?pull?wagoodman/dive
至于使用,一般使用最簡單的方式:
$?dive?
比如分析 Go 語言鏡像:
$?dive?golang:1.14
Fetching?image...?(this?can?take?a?while?with?large?images)
Parsing?image...
Analyzing?image...
Building?cache...
可以看到該鏡像構(gòu)建各個層

文末「閱讀原文」可直達項目首頁。
今天的項目大家覺得怎么樣嗎?如果你喜歡,請在文章底部留言、點贊或關(guān)注轉(zhuǎn)發(fā),你的支持就是我持續(xù)更新的最大動力!
推薦閱讀
轉(zhuǎn)角遇到GitHub - 送給愛開源的你
Git ·?GitHub · GitLab · Gitee
評論
圖片
表情
