главная - Статьи - Виртуализация
Dive или как получить информацию о слоях контейнера Docker
Дата обновления: 11.04.2025Теги: Docker

Контейнер docker, как известно, создается слоями, например:
FROM alpine:3.10
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
После того, как контейнер создан, можно его запустить, он что-то сделает и все хорошо. Но если кому-то, кто не создавал этот контейнер, захочется его изучить, понять, как создавался этот контейнер, то можно это сделать с помощью утилиты dive.
DIVE
Source code: https://github.com/wagoodman/dive
Можно установить утилиту для запуска командой:
DIVE_VERSION=$(curl -sL "https://api.github.com/repos/wagoodman/dive/releases/latest" | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/')
curl -fOL "https://github.com/wagoodman/dive/releases/download/v${DIVE_VERSION}/dive_${DIVE_VERSION}_linux_amd64.deb"
sudo apt install ./dive_${DIVE_VERSION}_linux_amd64.deb
и запускать потом командой dive
,
А можно просто запустить из образа docker, "на посмотреть", как эта штука работает.
docker run --rm -it \ -v /var/run/docker.sock:/var/run/docker.sock \ docker.io/wagoodman/dive:latest <dive arguments...>
Например:
docker run --rm -it \
-v /var/run/docker.sock:/var/run/docker.sock \
docker.io/wagoodman/dive:latest nginx:latest
Если образ nginx:latest уже есть в локальном кеше, то будет использован он, иначе он будет скачан с репозитория.
Управление клавиатурой, можно перемещаться по слоям и смотреть, как все устроено.
Авторизуйтесь для добавления комментариев!

Принимаю заказы на настройку серверов, mikrotik и других роутеров, точек доступа, nginx и т.п. В пределах Санкт-Петербурга возможен выезд к заказчику. См. контакты.