Docker и контейнеры

проверка Docker Compose

Проверьте один документ Compose, объявленные связи и неразрешённые ссылки.

проверка Docker Compose

Входной YAML Compose

Результаты анализа

YAML остаётся в браузере. Без запуска Docker, чтения файлов окружения и сетевых запросов.

Параметры проверки

Входной текст виден. Открытие вывода разрешает экспорт YAML с исходными значениями, включая секреты.

Статическая проверка: схема Compose fee041b (01.09.2026). Без интерполяции, файлов, активации профилей и запуска.

До 200 000 единиц UTF-16, 100 сервисов и 500 связей. Вывод по 50 записей.

Ввод или параметры изменены. Повторите анализ перед экспортом.

Проверка Docker Compose полезна при изменении нескольких связанных сервисов. Правильные отступы YAML ещё не исключают одинаковые порты хоста и ссылки на необъявленный том. Диагностика указывает на исходную строку, а форматированный результат появляется отдельно. Входной текст не перезаписывается, поэтому его можно сравнить с выводом перед сохранением.

Когда нужна проверка Docker Compose

Увидеть связи между объявлениями

Проверка Docker Compose показывает зависимости сервисов, источники томов и опубликованные порты вместе. Стрелка направлена от зависимого сервиса к его зависимости. Условие длинной формы depends_on сохраняется, но схема не означает, что база данных уже прошла проверку здоровья или принимает запросы.

Три сервиса связаны последовательно; под базой данных подключён постоянный том.

Отделить конфликт от предположения

Разные внутренние порты могут занимать один порт хоста. TCP и UDP сравниваются раздельно. Диапазоны назначения, смешанные wildcard-адреса IPv4/IPv6 и сервисы с профилями получают предупреждение о возможном пересечении: окончательные условия запуска ещё неизвестны.

Два сервиса направлены к одному выделенному сокету хоста.

От сообщения об ошибке к проверенному выводу

01

Сначала исправьте структуру

Для ошибок YAML указаны строка и столбец, для несоответствий схеме — путь поля. Проверка конфигурации не должна опираться на неполный список связей при ошибках структуры. Поле version не переключает инструмент на старую спецификацию.

02

Сравните привязки на стороне хоста

Два контейнера могут независимо слушать внутренний порт 80. Важны адрес хоста, published и протокол. Переменные и автоматическое назначение остаются неразрешёнными; вместо них не подставляются выдуманные номера для получения формального успеха.

03

Откройте значения только для нужного экспорта

Исходный текст виден, но полный вывод изначально скрыт. Его показ разрешает экспорт YAML с исходными значениями. Отключите автоанализ для кнопки или Ctrl/Cmd + Enter. После любого изменения экспорт устаревшего результата сразу блокируется.

Несколько способов прочитать один документ

Официальная схема и отдельные правила

Структура проверяется по снимку от 01.09.2026. Дополнительно проверяются источник сервиса, отсутствующие ссылки, циклы и синтаксис портов. Неизвестные поля отмечаются, а не удаляются. Форматирование сохраняет комментарии и якоря, не сортирует сервисы и не заменяет ввод.

Зависимости и источники монтирования

Отображаются обе формы depends_on, пространства имён сервисов, links и volumes_from. Именованные тома сверяются с объявлениями верхнего уровня. Пути bind видны без чтения реальных файлов; анонимные тома отличаются от именованных ресурсов. Диаграмма показывает объявления, а не фактическую сеть.

Переменные окружения без значений по умолчанию

Анализируются строковые значения с $VAR, фигурными скобками и вложенными альтернативами. $$ экранирует доллар. Пустые элементы environment отмечаются как передача из shell. Шаблон сортирует уникальные имена и выдаёт NAME=, не копируя пароли или значения по умолчанию.

Экспорт для разных задач

YAML сохраняет реальные значения и выражения интерполяции. JSON-отчёт исключает полный YAML и значения по умолчанию переменных, но сохраняет пути, связи и диагностику. Списки раскрываются по 50 записей; экспорт содержит все записи в пределах установленных ограничений.

Что остаётся проверить в среде запуска

Контейнеры не запускаются
Инструмент не вызывает Docker, не скачивает образы, не проверяет healthcheck и занятые другими программами порты. Соответствие схеме не доказывает наличие прав, соединения или совместимость версии. Окончательную проверку выполняйте в целевой среде.
Нет разрешения внешних файлов
Допускается один документ YAML 1.2. Дубликаты ключей, циклические aliases и неподдерживаемые теги отклоняются. include и extends блокируют экспорт конфигурации. Файлы .env и env_file не читаются, overrides не объединяются. Сначала разрешите такой проект локальными средствами.
Профили не активируются
Участвуют все объявленные сервисы. Пересечения с профилями или диапазонами считаются возможными конфликтами, даже если конкретный запуск не включает сервисы одновременно. Переменные и автоматические порты остаются неопределёнными. Другие работающие проекты инструменту неизвестны.
Скрытие не удаляет секреты
Исходник остаётся видимым. После открытия вывода скачанный YAML может содержать учётные данные; этот экспорт доступен только без ошибок. В ENV-шаблоне значения всегда пустые. Отчёт с ошибками можно сохранить для разбора, но он не является подтверждением корректности.
Ограничены объём и версия схемы
Поддерживаются якоря и merge в пределах 200 000 единиц UTF-16, 100 сервисов и 500 записей отношений. Развёртывание ограничено 20 000 узлами и глубиной 40. Коммит схемы начинается с fee041b; будущие поля требуют обновления сохранённого снимка.
Монтирования и готовность требуют контекста
Основные проверки относятся к bind, именованным томам и tmpfs. Другие допустимые схемой типы отмечаются для ручной проверки. Существование путей не проверяется, время готовности приложения не моделируется. Стрелка зависимости не подтверждает возможность подключения.

Проверка Docker Compose: вопросы

Почему переменные не передаются в Compose CLI?

На результат влияют источник переменной, параметры запуска и порядок разрешения значений. Эта страница только извлекает имена ссылок из вставленного текста. Она не видит окружение вашего shell и не может подтвердить, что CLI получил конкретное значение.

Как использовать .env из другого каталога?

Укажите нужный файл и контекст проекта в локальной команде Compose согласно используемой версии. Веб-инструмент не открывает путь ../.env и не проверяет его на Windows или другой системе. Здесь можно собрать список имён, которые требуется определить в реальном окружении.

Как передать переменные из Compose в Dockerfile?

Переменные сборки и окружение запущенного контейнера имеют разные назначения. Сверьте build.args, ARG и environment в своей конфигурации и документации Docker. Эта страница не выполняет сборку и не доказывает, что Dockerfile получил значение; она лишь находит ссылки в Compose.

Можно ли менять конфигурацию в зависимости от переменных?

Compose поддерживает интерполяцию с альтернативами и значениями по умолчанию. Здесь выражения сохраняются как текст, а вложенные имена попадают в шаблон. Ветви не вычисляются, поэтому результирующая конфигурация для конкретного окружения должна быть получена локально.

Как связать два контейнера между собой?

Нужно проверить фактическую сеть, имя сервиса, слушающий порт и настройки приложения. depends_on описывает зависимость запуска, но сам по себе не подтверждает соединение. Инструмент показывает объявления и отсутствующие ссылки, не пытаясь установить сетевое подключение.

Нужна более точная диагностика объявления Compose?

Сверьте объявления перед запуском

Проверка Docker Compose поможет вернуться к отмеченным путям, сверить порты хоста и открыть нужные значения перед экспортом конфигурации.