自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何分析并探索Docker容器鏡像的內(nèi)容

開(kāi)源
通過(guò)分析 Docker 鏡像,我們可以發(fā)現(xiàn)在各個(gè)層之間可能重復(fù)的文件并通過(guò)移除它們來(lái)減小 Docker 鏡像的大小。Dive 工具不僅僅是一個(gè) Docker 鏡像分析工具,它還可以幫助我們來(lái)構(gòu)建鏡像。Dive 是一個(gè)用 Go 編程語(yǔ)言編寫(xiě)的自由開(kāi)源工具。

https://s3.51cto.com/oss/201811/05/345842ab22a546d678117d276709893a.png

或許你已經(jīng)了解到 Docker 容器鏡像是一個(gè)輕量、獨(dú)立、含有運(yùn)行某個(gè)應(yīng)用所需全部軟件的可執(zhí)行包,這也是為什么容器鏡像會(huì)經(jīng)常被開(kāi)發(fā)者用于構(gòu)建和分發(fā)應(yīng)用。假如你很好奇一個(gè) Docker 鏡像里面包含了什么東西,那么這篇簡(jiǎn)要的指南或許會(huì)幫助到你。今天,我們將學(xué)會(huì)使用一個(gè)名為 Dive 的工具來(lái)分析和探索 Docker 鏡像每層的內(nèi)容。

通過(guò)分析 Docker 鏡像,我們可以發(fā)現(xiàn)在各個(gè)層之間可能重復(fù)的文件并通過(guò)移除它們來(lái)減小 Docker 鏡像的大小。Dive 工具不僅僅是一個(gè) Docker 鏡像分析工具,它還可以幫助我們來(lái)構(gòu)建鏡像。Dive 是一個(gè)用 Go 編程語(yǔ)言編寫(xiě)的自由開(kāi)源工具。

安裝 Dive

首先從該項(xiàng)目的 發(fā)布頁(yè) 下載***版本,然后像下面展示的那樣根據(jù)你所使用的發(fā)行版來(lái)安裝它。

假如你正在使用 Debian 或者 Ubuntu,那么可以運(yùn)行下面的命令來(lái)下載并安裝它。

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

在 RHEL 或 CentOS 系統(tǒng)中

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

Dive 也可以使用 Linuxbrew 包管理器來(lái)安裝。

  1. $ brew tap wagoodman/dive
  1. $ brew install dive

至于其他的安裝方法,請(qǐng)參考 Dive 項(xiàng)目的 GitHub 網(wǎng)頁(yè)。

分析并探索 Docker 鏡像的內(nèi)容

要分析一個(gè) Docker 鏡像,只需要運(yùn)行加上 Docker 鏡像 ID 的 dive 命令就可以了。你可以使用 sudo docker images 來(lái)得到 Docker 鏡像的 ID。

  1. $ sudo dive ea4c82dcd15a

上面命令中的 ea4c82dcd15a 是某個(gè)鏡像的 ID。

然后 dive 命令將快速地分析給定 Docker 鏡像的內(nèi)容并將它在終端中展示出來(lái)。

 

正如你在上面的截圖中看到的那樣,在終端的左邊一欄列出了給定 Docker 鏡像的各個(gè)層及其詳細(xì)內(nèi)容,浪費(fèi)的空間大小等信息。右邊一欄則給出了給定 Docker 鏡像每一層的內(nèi)容。你可以使用 Ctrl+空格 來(lái)在左右欄之間切換,使用 UP/DOWN 光標(biāo)鍵來(lái)在目錄樹(shù)中進(jìn)行瀏覽。

下面是 dive 的快捷鍵列表:

  • Ctrl+空格 —— 在左右欄之間切換
  • 空格 —— 展開(kāi)或收起目錄樹(shù)
  • Ctrl+A —— 文件樹(shù)視圖:展示或隱藏增加的文件
  • Ctrl+R —— 文件樹(shù)視圖:展示或隱藏被移除的文件
  • Ctrl+M —— 文件樹(shù)視圖:展示或隱藏被修改的文件
  • Ctrl+U —— 文件樹(shù)視圖:展示或隱藏未修改的文件
  • Ctrl+L —— 層視圖:展示當(dāng)前層的變化
  • Ctrl+A —— 層視圖:展示總的變化
  • Ctrl+/ —— 篩選文件
  • Ctrl+C —— 退出

在上面的例子中,我使用了 sudo 權(quán)限,這是因?yàn)槲业?Docker 鏡像存儲(chǔ)在 /var/lib/docker/ 目錄中。假如你的鏡像保存在你的家目錄 ($HOME)或者在其他不屬于 root 用戶的目錄,你就沒(méi)有必要使用 sudo 命令。

你還可以使用下面的單個(gè)命令來(lái)構(gòu)建一個(gè) Docker 鏡像并立刻分析該鏡像:

  1. $ dive build -t <some-tag>

Dive 工具仍處于 beta 階段,所以可能會(huì)存在 bug。假如你遇到了 bug,請(qǐng)?jiān)谠擁?xiàng)目的 GitHub 主頁(yè)上進(jìn)行報(bào)告。

好了,這就是今天的全部?jī)?nèi)容。現(xiàn)在你知道如何使用 Dive 工具來(lái)探索和分析 Docker 容器鏡像的內(nèi)容以及利用它構(gòu)建鏡像。希望本文對(duì)你有所幫助。 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2014-11-27 09:59:02

dockerlinux技巧

2016-08-23 09:16:46

Docker鏡像容器

2019-07-16 14:44:52

DockerMySQL操作系統(tǒng)

2023-05-30 14:56:18

Docker開(kāi)發(fā)容器

2021-10-26 07:24:10

Gorsair容器安全工具

2021-12-22 10:45:56

Docker RegiHarborLinux

2019-09-10 13:34:30

Linux操作系統(tǒng)軟件

2019-03-28 10:20:09

容器鏡像系統(tǒng)運(yùn)維Linux

2016-01-28 10:07:07

DockerDocker鏡像

2022-07-18 11:13:07

容器安全Docker

2024-01-16 09:39:13

Docker系統(tǒng)

2022-10-08 00:00:02

Docker項(xiàng)目技術(shù)

2021-12-12 22:20:47

Docker開(kāi)發(fā)容器

2019-07-01 09:33:58

DockerNginx操作系統(tǒng)

2024-01-10 09:48:52

Docker工具

2023-11-26 00:52:12

Docker鏡像容器

2018-06-05 08:58:38

Docker存儲(chǔ)容器

2019-10-16 10:08:58

DockerLinuxWindows

2023-06-16 16:06:02

lazydockerDocker容器

2020-08-24 07:00:00

服務(wù)器Docker技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)