Как анализировать и исследовать содержимое образов 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 <some-tag>

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

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

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

 

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40