Сервер в кармане, или просто о сложном!

главная - Статьи - Виртуализация



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 и т.п. В пределах Санкт-Петербурга возможен выезд к заказчику. См. контакты.