x-cmd pkg | dive - 用于探索 docker 镜像内容和层次结构,优化 Docker/OCI 镜像大小的工具

本文主要是介绍x-cmd pkg | dive - 用于探索 docker 镜像内容和层次结构,优化 Docker/OCI 镜像大小的工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

    • 简介
    • 快速上手
    • 功能特点
    • 竞品和相关项目
    • 进一步阅读

简介

dive 是由 Alex Goodman 用 Go 开发的 Docker 镜像探查工具。它提供可视化图形界面,能分析 Docker 镜像的内容和层次结构,如浏览镜像中的文件和目录信息、查看每层镜像内容的文件变更情况、进行安全性检查等。

对于需要深入分析和优化 Docker 镜像的开发者和运维人员,dive 能帮你更高效地优化 Docker 或 OCI 镜像,检查镜像中潜在的风险;对于学习 Docker 的新手,它能帮你更好地查看 Docker 镜像的层次结构,加深对 Docker 镜像原理的理解。

在这里插入图片描述

快速上手

  1. 安装 dive

    eval "$(curl https://get.x-cmd.com)"        # 安装 x-cmd
    x env use dive                              # 使用 x-cmd 安装 dive
    
  2. 使用 dive 查看指定镜像:

    dive ubuntu:latest                          # 使用 dive 查看指定镜像,如 ubuntu:latest 镜像
    dive --ci ubuntu:latest                     # 不启用可视化界面,直接输出分析结果
    
  3. 常用快捷键:

    • q:退出 dive UI 界面;
    • tab:将视图切换至镜像层或文件树;
    • Ctrl-F:过滤文件。
  4. (补充)dive UI 界面展示的内容大致可分为四块:

    • Layers:显示镜像的每个分层基本信息,如分层占用的磁盘大小和相应的命令;
    • Layer Details:显示所选中镜像层的详细信息,如 Id、sha256 值;
    • Image Details:显示镜像的详细信息,如镜像名、镜像大小、空间利用率;
    • Current Layer Contents:显示每个镜像分层对镜像的文件系统带来的改变,其中绿色代表新增的文件、黄色代表被修改的文件、红色代表已被删除的文件。

功能特点

  1. 层分析:能直观地展示每个镜像分层的信息和对镜像的文件系统带来的改变,并用颜色区分更改、添加或删除的文件。
  2. 文件系统浏览:支持浏览镜像中的文件系统,能查看每个文件和目录的详细信息。
  3. 镜像优化:可以提供镜像优化建议,以帮用户减小镜像的大小,例如合并层或删除不必要的文件。
  4. CI Integration:支持在持续集成过程中自动化分析 Docker 镜像的效率并评估空间浪费情况。

竞品和相关项目

  1. slimtoolkit/slim:用 Go 开发的 Docker 镜像优化工具,能自动分析应用程序的依赖关系,识别并去除不必要的文件和库,从而生成更精简的镜像,适合需要优化和缩小 Docker 镜像的场景。
  2. lazydocker:Docker 命令的终端图形界面,能实时监控 docker 的各种信息并进行管理操作,界面简单易懂,特别适合需要频繁操作多个容器的场景。
  3. grype:容器镜像漏洞扫描工具,用于检测容器镜像中的安全漏洞。它也支持扫描容器的软件清单(SBOM),并提供有关漏洞的详细信息。
  4. syft:镜像和文件系统分析工具,用于从容器映像和文件系统生成软件物料清单(SBOM)。

进一步阅读

  • dive 源代码 - dive 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 dive 和参与社区贡献。
  • Dive - Analyze Docker Images - 主要讲解了 docker 镜像大小的优化和 dive 的用法,浅显易懂。

更多内容请查阅 : pkg/dive

转载请标明原文链接 :https://www.x-cmd.com/pkg/dive


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法

这篇关于x-cmd pkg | dive - 用于探索 docker 镜像内容和层次结构,优化 Docker/OCI 镜像大小的工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139036

相关文章

Python实现word文档内容智能提取以及合成

《Python实现word文档内容智能提取以及合成》这篇文章主要为大家详细介绍了如何使用Python实现从10个左右的docx文档中抽取内容,再调整语言风格后生成新的文档,感兴趣的小伙伴可以了解一下... 目录核心思路技术路径实现步骤阶段一:准备工作阶段二:内容提取 (python 脚本)阶段三:语言风格调

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

基于Python打造一个全能文本处理工具

《基于Python打造一个全能文本处理工具》:本文主要介绍一个基于Python+Tkinter开发的全功能本地化文本处理工具,它不仅具备基础的格式转换功能,更集成了中文特色处理等实用功能,有需要的... 目录1. 概述:当文本处理遇上python图形界面2. 功能全景图:六大核心模块解析3.运行效果4. 相

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效