需求
拿到一個映象之後,我想知道:
- 分層檢視映象裡都有哪些檔案
- 各層使用了什麼命令構建的這個映象
- 映象裡比較大的檔案有哪些(可能需要最佳化)
dive 工具介紹
dive 工具可以做這些分析。dive 的 github 地址是 wagoodman/dive
,小巧玲瓏,MIT 開源協議,42.9k 的 star。它的介紹是這麼一句話:
A tool for exploring each layer in a docker image
其分析效果大概如下:
安裝 dive
可以使用映象安裝:
docker pull wagoodman/dive:latest
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive:latest <your_image>
也可以使用二進位制安裝:
- 下載地址:https://github.com/wagoodman/dive/releases
- 最新版本:v0.12.0
下載之後解壓縮,裡邊只有一個二進位制檔案,直接使用即可,比如分析夜鶯的映象:
./dive flashcatcloud/nightingale:latest
按鍵盤上面的上下移動鍵,即可檢視不同的分層的資訊,右側會展示當前分層的檔案,左側中間位置展示當前分層的詳情,最下面展示映象評分,展示了一些可能的大檔案。
enjoy :-)
本公眾號主理人:秦曉輝,極客時間《運維監控系統實戰筆記》作者,Open-Falcon、夜鶯、Categraf、Cprobe 等開源專案的創始人,當前在創業,為客戶提供可觀測性相關的產品。如下是我們兩款核心產品,歡迎訪問我們的官網瞭解詳情:
- https://flashcat.cloud/
我們主要提供兩款產品:
歡迎加我好友,交流可觀測性相關話題或瞭解我們的商業產品,如下是我的聯絡方式,加好友請備註您的公司、姓名、來意 🤝
擴充套件閱讀:
- 方法論:面向故障處理的可觀測性體系建設
- 小總結:從CTO視角來看:如何搭建運維/SRE能力
- 鄙人專欄:運維監控系統實戰筆記