Compose pre_start Steps Validator
Проверить структуру секции pre_start (Docker Compose 5.3+) на типичные ошибки перед запуском.
Как это работает
Второго июля 2026 года в Docker Compose 5.3.0 бесшумно приехала штука, которую сообщество выпрашивало годами: нативная секция pre_start для init-контейнеров. До этого приходилось городить отдельный one-shot сервис с restart: "no" и связывать его через depends_on с condition service_completed_successfully — работало, но выглядело как костыль, который стесняешься показывать в код ревью.
Синтаксис новый, и опечатка в структуре списка шагов pre_start легко проходит мимо глаз, особенно если полгода писали YAML на автомате и руки сами тянутся к старым привычным конструкциям. Compose pre_start Steps Validator online проверяет, что каждый шаг имеет либо command, либо явно унаследованный образ, что список шагов — действительно список, а не одиночный объект по ошибке, и вежливо напоминает про главную особенность новой секции: шаги не транзакционны, сбой второго шага не откатывает первый как ни в чём не бывало.
Полезно применять сразу после того, как переписали старый паттерн one-shot сервиса на pre_start — чтобы не узнавать о синтаксической ошибке в тот самый момент, когда коллеги уже смотрят на ваш экран во время демо. Как и всё на этом сайте, проверка происходит целиком в браузере, ни один байт вашего compose файла никуда не отправляется.
Частые вопросы
С какой версии Docker Compose доступна секция pre_start?
С версии 5.3.0, выпущенной 2 июля 2026 года, на более старых версиях эта секция парсером просто не распознаётся и молча игнорируется в некоторых сборках.
Проверяет ли валидатор транзакционность шагов?
Нет, транзакционности в pre_start попросту нет по дизайну самой фичи, валидатор лишь напоминает об этом явным предупреждением и проверяет структуру, а не поведение при сбое конкретного шага.
Что если у шага не указан ни command, ни image?
Валидатор пометит это как потенциальную проблему, потому что шаг без явной команды чаще всего означает забытую строку где-то посреди редактирования конфига.
Можно ли проверить несколько сервисов с pre_start одновременно?
Да, инструмент проходит по всем сервисам файла и проверяет секцию pre_start у каждого, где она вообще объявлена, а не только у первого попавшегося.