Поиск по сайту:

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

Проверка содержимого образа Docker с помощью Dive

Как вы, возможно, уже знаете, образ контейнера Docker — это легкий автономный исполняемый пакет программного обеспечения, в котором есть все необходимое для запуска приложения. Вот почему образы контейнеров часто используются разработчиками для создания и распространения приложений. Если вам интересно узнать, что находится в образе Docker, это краткое руководство может вам помочь. Сегодня мы научимся анализировать и исследовать содержимое образов Docker слой за слоем с помощью инструмента под названием "Погружение".

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

Утилита Dive — это не просто анализатор изображений Docker, но и помогает нам его создавать. Dive — бесплатный инструмент с открытым исходным кодом, написанный на языке программирования Go.

Установите Dive в Linux

Получите последнюю версию на странице выпусков и установите ее, как показано ниже, в зависимости от используемого вами дистрибутива.

Если вы используете 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, поэтому его можно установить с помощью любых вспомогательных инструментов AUR, например Yay, в Arch Linux и его вариантах.

yay -S dive

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

brew tap wagoodman/dive
brew install dive

Чтобы узнать о других методах установки, посетите страницу проекта на GitHub, указанную в конце этого руководства.

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

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

sudo dive ea4c82dcd15a

Здесь ea4c82dcd15a — идентификатор образа Docker.

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

Изучите содержимое образов Docker с помощью Dive

Как вы можете видеть на скриншоте выше, слои данного образа Docker и его детали, а также потраченное пространство показаны на левой панели. На правой панели — содержимое каждого слоя данного образа Docker. Вы можете переключаться между левой и правой панелью с помощью клавиши Ctrl+ПРОБЕЛ и клавиш со стрелками ВВЕРХ/ВНИЗ для перемещения по дереву каталогов.

Список сочетаний клавиш для использования «Погружения».

  • 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, приведенную ниже.

Ресурс:

  • Страница GitHub

Статьи по данной тематике