К основному контенту

🐳 Как анализировать и исследовать содержимое образов Docker

Как вы уже знаете, образ контейнера Docker представляет собой легкий, автономный исполняемый пакет программного обеспечения, в котором есть все необходимое для запуска приложения.

Вот почему образа контейнеров часто используются разработчиками для создания и распространения приложений.

Если вам интересно узнать, что находится в самом образе Docker, это краткое руководство может вам помочь в этом.

Сегодня мы научимся анализировать и исследовать содержимое образов Docker с помощью инструмента под названием «Dive».

Анализируя образ Docker, мы можем обнаружить возможные дубликаты файлов по слоям и удалить их, чтобы уменьшить размер образа.

Утилита Dive — это не только анализатор Docker, но и помогает нам собирать образа.

Установка 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

Dive также может быть установлен с помощью диспетчера пакетов Linuxbrew.

$ brew tap wagoodman/dive 
$ brew install dive

Для других способов установки см. Страницу проекта GitHub, приведенную в конце этого руководства.

Анализ и исследование содержимого образов Docker

Чтобы проанализировать образ Docker, просто запустите команду Dive с id образа.

Вы можете получить идентификаторы изображений Docker с помощью команды «sudo docker images».

$ sudo dive ea4c82dcd15a

Здесь ea4c82dcd15a является идентификатором образа Docker.

Команда Dive быстро проанализирует данный образ Docker и отобразит его содержимое в терминале.



Как вы можете видеть на скриншоте выше  слои данного образа и его детали, потерянное пространство отображаются на левой панели.

На правой панели — содержимое каждого слоя в данном образе Docker.

Вы можете переключаться между левой и правой панелью с помощью клавиш Ctrl + SPACEBAR и клавиш со стрелками ВВЕРХ/ВНИЗ для перемещения по дереву каталогов.

Список сочетаний клавиш для использования «Dive».

  • Ctrl + Пробел — Переключение между левой и правой панелями,
  • Пробел — развернуть/свернуть дерево каталогов,
  • Ctrl + A — Показать/скрыть добавленные файлы,
  • Ctrl + R — Показать/скрыть удаленные файлы,
  • Ctrl + M — Показать/скрыть измененные файлы,
  • Ctrl + U — Показать/скрыть немодифицированные файлы,
  • Ctrl + L — Показать изменения слоя,
  • Ctrl + A — Показать изменения слоя,
  • Ctrl +/— Фильтровать файлы,
  • Ctrl + C — выход.

В приведенном выше примере я использовал разрешение «sudo», потому что мои образа Docker хранятся в каталоге /var/lib/docker/.

Если у вас они в каталоге $ HOME или где-либо в не принадлежащем пользователю root, вам не нужно использовать «sudo».

Вы также можете создать образ Docker и выполнить немедленный анализ с помощью одной команды:

$ dive build -t 

Инструмент все еще находится в стадии бета-тестирования, поэтому будут ошибки.

Если вы столкнулись с любыми ошибками, сообщите об этом на странице github проекта.

И это все на сегодня. Теперь вы знаете, как исследовать и анализировать содержимое образа контейнера Docker и как его создать с помощью инструмента Dive.

  • Dive GitHub Page

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Лучшие аналоги Paint для Linux

Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображений PNG, J…

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…