如何分析和探索 Docker 镜像的内容

您可能已经知道,Docker 容器镜像是一个轻量级的、独立的、可执行的软件包,它包含运行应用程序所需的一切。 这就是为什么开发人员经常使用容器镜像来构建和分发应用程序的原因。 如果您想知道 Docker 映像中的内容,这份简短指南可能会对您有所帮助。 今天,我们将学习使用一个名为的工具逐层分析和探索Docker镜像的内容 “潜水”. 通过分析 Docker 镜像,我们可以发现可能跨层的重复文件并将其删除以减小 docker 镜像的大小。 Dive 实用程序不仅仅是一个 Docker Image 分析器,还可以帮助我们构建一个。 Dive 是免费的开源工具 编程语言。

安装潜水

获取最新版本 发布页面 并根据您使用的发行版如下所示安装它。

如果你在 Debian 或者 Ubuntu,运行以下命令下载并安装它。

$ wget https://github.com/wagoodman/dive/releases/download/v0.0.8/dive_0.0.8_linux_amd64.deb
$ sudo apt install ./dive_0.0.8_linux_amd64.deb

在 RHEL/CentOS 上:

$ wget https://github.com/wagoodman/dive/releases/download/v0.0.8/dive_0.0.8_linux_amd64.rpm
$ sudo rpm -i dive_0.0.8_linux_amd64.rpm

它可以在 金子,因此您可以使用任何 AUR 辅助工具进行安装,例如 , 在 Arch Linux 及其变体上。

$ yay -S dive

潜水也可以安装使用 Linuxbrew 包管理器。

$ brew tap wagoodman/dive 
$ brew install dive

有关其他安装方法,请参阅本指南末尾给出的项目 GitHub 页面。

解析探索Docker镜像的内容

要分析 Docker 映像,只需使用 Docker “Image ID”运行潜水命令。 您可以使用 “sudo 泊坞窗图像”命令。

$ sudo dive ea4c82dcd15a

这里, ea4c82dcd15a 是 Docker 镜像 ID。

Dive 命令将快速分析给定的 Docker 映像并在终端中显示其内容。

探索 Docker 镜像的内容

正如您在上面的屏幕截图中看到的,给定 docker 图像的层及其详细信息、浪费的空间显示在左窗格中。 在右侧窗格中,给定 Docker 映像中每一层的内容。 您可以使用在左右窗格之间切换 Ctrl+空格键 钥匙和 上/下 箭头键浏览目录树。

使用“Dive”的键盘快捷键列表。

  • Ctrl+空格键 – 在左右窗格之间切换,
  • 空格键 – 展开/折叠目录树,
  • Ctrl+A – 显示/隐藏添加的文件,
  • Ctrl+R – 显示/隐藏删除的文件,
  • Ctrl+M – 显示/隐藏修改过的文件,
  • Ctrl+U – 显示/隐藏未修改的文件,
  • Ctrl+L – 显示图层变化,
  • Ctrl+A – 显示图层变化,
  • Ctrl+/ – 过滤文件,
  • Ctrl+C – Exit.

在上面的例子中,我使用了“sudo” 许可,因为我的 Docker 图像存储在 /var/lib/docker/ 目录。 如果您将它们放在您的 $HOME 目录或任何不拥有“root”用户的地方,则无需使用“sudo”。

您还可以构建 Docker 映像并使用一个命令立即进行分析:

$ dive build -t <some-tag>

有关更多详细信息,请查看下面给出的项目 GitHub 页面。

资源:

  • 潜水 GitHub 页面

感谢您的光临!

帮助我们帮助您:

  • 订阅我们的电子邮件通讯: 立即注册
  • 支持 OSTechNix: 通过贝宝捐款
  • 下载免费的电子书和视频: TradePub 上的 OSTechNix
  • 联系我们: 红迪网 | Facebook | 推特 | 领英 | RSS订阅

祝你有美好的一天!!

ContainerDiveDockerLinux开源