Разработка и эксплуатация

Инструменты для Docker и контейнеров

Контейнерные процессы ломаются на мелких, повторяющихся вещах: docker-compose.yml с портом, который уже занят другим сервисом, команда docker run с томами, набранными вручную, или этап Dockerfile, ссылающийся на аргумент сборки, который нигде не объявлен. Эти инструменты ловят такие ошибки до docker build или docker compose up, избавляя от разбора логов в поисках неверной строки.

Каждый инструмент соответствует одному файлу или команде, с которыми вы работаете. Рабочая область Docker Compose проверяет готовый YAML на конфликты портов и зависимостей, а docker run собирает команду из полей портов, томов и переменных окружения. Форматировщик Dockerfile добавляет построчную диагностику к многоэтапным сборкам, а парсер образа Docker разбирает адрес образа на реестр, репозиторий, тег и digest, чтобы было видно, что именно скачает pull.

4 инструментов

Вопросы об инструментах категории «Docker & Containers»

Почему docker-compose.yml падает с ошибкой про занятый порт?

Два сервиса в одном файле Compose, либо сервис и что-то уже запущенное на хосте, отображены на один и тот же порт хоста. Рабочая область Docker Compose читает файл и указывает на конфликтующие проброс портов и порядок зависимостей ещё до docker compose up.

Как прочитать тег образа Docker вместе с digest?

Адрес образа может одновременно содержать хост реестра, путь репозитория, тег и digest вида @sha256, и если указаны оба, побеждает digest. Парсер образа Docker разбирает адрес на эти четыре части, чтобы было видно, какой именно образ подтянет pull.

В чём разница между ARG и ENV в Dockerfile?

ARG доступен только во время сборки и не попадает в конечный образ; ENV сохраняется в запущенном контейнере. Форматировщик Dockerfile проверяет многоэтапные Dockerfile построчно, что помогает заметить ARG сборки там, где на самом деле нужен ENV времени выполнения.