Форматировщик YAML Docker Compose
Гид
Форматировщик YAML Docker Compose
Вставьте docker-compose.yml и мгновенно получите чистый, единообразно оформленный файл с сервисами, сетями и томами, упорядоченными в соответствии с ожиданиями конвенции Docker Compose. Форматировщик проверяет файл на соответствие современной спецификации Compose, выделяет устаревшие ключи, такие как старый верхний уровень version поле или устаревшие links, и предупреждает о неизвестных настройках сервиса до того, как они приведут к сбоям во время выполнения.
Как использовать
- Вставьте ваш
docker-compose.ymlв область ввода или нажмите одну из ссылок примеров, чтобы загрузить образец стека. - Выберите порядок ключей — Конвенция Compose сортирует сервисы в порядке, который ожидается пользователями Compose (образ, перезапуск, среда, порты, тома, …), Альфавитный порядок сортирует строго по алфавиту, или Сохранять сохраняет ваш исходный порядок.
- Выберите отступы в 2 или 4 пробела и включите/выключите проверку спецификации Compose.
- Просмотрите панель проверки на ошибки, предупреждения относительно устаревших ключей и информационные сообщения о неявных ссылках на сеть.
- Скопируйте результат или загрузите его как
docker-compose.yml.
Возможности
- Проверка спецификации Compose – распознаёт верхний уровень
services,networks,volumes,configs,secrets,profiles,include, и расширенные поля (x-*); выделяет всё остальное. - Предупреждения об устаревании – выделяет устаревший верхний уровень
versionключ,links,external_links, и ограничения ресурсов эпохи v2, которые должны быть перемещены подdeploy.resources. - Упорядочение ключей с учётом сервисов – перестраивает каждый сервис так, чтобы идентифицирующие ключи (
image,build,container_name) находились в начале, настройки выполнения (environment,ports,volumes) находятся в середине, а вопросы операционного управления (healthcheck,logging,deploy) располагаются в конце. - Проверка ссылок – обнаруживает сервисы, зависящие от неопределённых сервисов, и предупреждает, когда сервис использует сеть, которая не объявлена на верхнем уровне.
- Требования к сервисам – проверяет, чтобы каждый сервис имел хотя бы один из
image,build,extends, илиprovider, и чтоrestartиспользует одну из четырёх допустимых политик. - Проверка портов и healthcheck – обнаруживает некорректные строки портов, отсутствующие
targetв длинных форматах портов и healthchecks безtest. - Три рабочих примера – узел + приложение Postgres, стек WordPress + MySQL + Redis и многоуровневое построение с профилями и ограничениями ресурсов.
- Локальные и приватные – все парсинг, сортировка и проверка выполняются в браузере. Ваш файл Compose никогда не покидает страницу.
Часто задаваемые вопросы
-
Почему устаревший ключ версии на верхнем уровне устарел?
Ключ версии использовался в устаревших версиях Compose v1, v2 и v3 для выбора схемы для команды docker-compose. Современная спецификация Compose объединила эти схемы в одну непрерывно развивающуюся спецификацию, поэтому объявление версии больше не влияет на поведение — последние версии Docker Compose просто игнорируют его и выводят предупреждение. Удаление этого ключа сокращает файл и избегает путаницы, когда читатели предполагают, что функции v3 ограничены этим объявлением.
-
Что такое спецификация Compose и как она отличается от старых форматов файлов Compose?
Спецификация Compose — это открытая, независимая от производителя схема, которая заменяет схемы по версиям, использовавшиеся Docker Compose до 2020 года. Она поддерживается на github.com/compose-spec/compose-spec и реализуется Docker Compose, Podman Compose и другими запускающими процессами. В сравнении с v2 и v3 спецификация удаляет поле версии, делает сервисы единственным обязательным ключом на верхнем уровне и включает поля, относящиеся только к Swarm, такие как deploy, как опциональные метаданные, которые могут быть использованы управляющими процессами.
-
Почему лучше использовать общий сетевой интерфейс, чем ключ links?
Ключ links был наследован из эпохи Docker до внедрения сетей и устанавливает только DNS-алиасы между контейнерами на стандартной мостовой сети. Современные пользовательские сети уже обеспечивают автоматическое разрешение DNS по имени сервиса для каждого сервиса, поддерживают несколько изолированных сетей на стеке и позволяют управлять DNS-алиасами с помощью опции aliases. В связи с этим спецификация Compose отмечает ключ links как устаревший и рекомендует явное включение в сеть.
-
Что делают каждый из политик перезапуска?
no никогда не перезапускает контейнер. always перезапускает его каждый раз, когда он останавливается, включая после перезапуска демона. on-failure перезапускает только при выходе контейнера с ненулевым статусом, с возможным ограничением количества попыток. unless-stopped ведёт себя как always, за исключением контейнера, который был остановлен вручную до перезапуска демона. Четыре значения — это чувствительные к регистру строки — любое другое значение отклоняется движком Compose.
-
Как Compose решает, нужно ли загружать или собирать образ?
Compose анализирует pull_policy, build и image вместе. При pull_policy: always Compose загружает образ перед каждым запуском. При отсутствии или if_not_present (по умолчанию, когда задан только image) он загружает образ только в случае его отсутствия локально. При never он никогда не загружает. Когда указано build вместе с image, pull_policy: build требует пересборку и присваивает результату имя image, в то время как pull_policy: missing пересобирает только в случае отсутствия образа локально.
Установите наши расширения
Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска
恵 Табло результатов прибыло!
Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!
Подписаться на новости
все Новые поступления
всеОбновлять: Наш последний инструмент was added on Июн 25, 2026
