Jak už možná víte, image kontejneru Docker je lehký, samostatný spustitelný balík softwaru, který má vše potřebné ke spuštění aplikace. To je důvod, proč jsou obrazy kontejnerů často používány vývojáři pro vytváření a distribuci aplikací. Pokud vás zajímá, co je na obrázku Dockeru, může vám pomoci tento stručný průvodce. Dnes se naučíme analyzovat a prozkoumat obsah obrázků Docker vrstvu po vrstvě pomocí nástroje s názvem "Dive" . Analýzou obrazu dockeru můžeme objevit možné duplicitní soubory napříč vrstvami a odstranit je, abychom zmenšili velikost obrazu dockeru. Nástroj Dive není jen analyzátor obrazu Docker, ale také nám pomáhá jej vytvořit. Dive je bezplatný nástroj s otevřeným zdrojovým kódem napsaný v Go programovací jazyk.
Instalace Dive
Získejte nejnovější verzi ze stránky vydání a nainstalujte jej, jak je uvedeno níže, v závislosti na distribuci, kterou používáte.
Pokud používáte Debian nebo Ubuntu , spusťte následující příkazy ke stažení a instalaci.
$ 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
V systému 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
Je k dispozici v AUR , takže můžete nainstalovat pomocí jakýchkoli pomocných nástrojů AUR, například Yay , na Arch Linuxu a jeho variantách.
$ yay -S dive
Dive lze také nainstalovat pomocí Linuxbrew správce balíčků.
$ brew tap wagoodman/dive
$ brew install dive
Další způsoby instalace naleznete na stránce projektu GitHub na konci této příručky.
Analyzujte a prozkoumejte obsah obrázků Docker
Chcete-li analyzovat obrázek Docker, jednoduše spusťte příkaz ponor s Dockerem "ID obrázku". ID svých obrázků Docker můžete získat pomocí příkazu „sudo docker images“.
$ sudo dive ea4c82dcd15a
Zde ea4c82dcd15a je ID obrázku Docker.
Příkaz Dive rychle analyzuje daný obrázek Docker a zobrazí jeho obsah v Terminálu.
Prozkoumejte obsah obrázků Docker
Jak můžete vidět na výše uvedeném snímku obrazovky, vrstvy daného obrázku dockeru a jeho detaily, plýtvání místem jsou zobrazeny v levém podokně. V pravém podokně obsah každé vrstvy v daném obrázku Dockeru. Mezi levým a pravým panelem můžete přepínat pomocí Ctrl+MEZERNÍK a NAHORU/DOLŮ šipky pro procházení stromem adresářů.
Seznam klávesových zkratek pro použití „Dive“.
- Ctrl+mezerník – Přepínání mezi levým a pravým panelem,
- Mezerník - Rozbalit/sbalit strom adresářů,
- Ctrl+A - Zobrazit/skrýt přidané soubory,
- Ctrl+R - Zobrazit/skrýt odstraněné soubory,
- Ctrl+M - Zobrazit/skrýt upravené soubory,
- Ctrl+U - Zobrazit/skrýt neupravené soubory,
- Ctrl+ L - Zobrazit změny vrstvy,
- Ctrl+A - Zobrazit změny vrstvy,
- Ctrl+/ - Filtrovat soubory,
- Ctrl+C - Konec.
Ve výše uvedeném příkladu jsem použil oprávnění "sudo", protože moje obrázky Docker jsou uloženy v /var/lib/docker/ adresář. Pokud je máte ve svém $HOME adresáři nebo kdekoli, kde nevlastníte „root“ uživatele, nemusíte používat „sudo“.
Můžete také vytvořit image Docker a provést okamžitou analýzu pomocí jednoho příkazu:
$ dive build -t <some-tag>
Další podrobnosti najdete na stránce projektu GitHub uvedené níže.