Compose Projects
Gateway обнаруживает внешние приложения Docker Compose и может управлять одновузловыми Compose Project как долговременными ресурсами. Проект объединяет службы, конфигурацию, неизменяемые ревизии, операции жизненного цикла, журналы, Routes и привязки баз данных под одной стабильной идентичностью.
Внешнее обнаружение доступно на любом тарифе. Для создания или принятия под управление одновузлового проекта требуется Personal или выше. Для сборки Compose из Git нужны Business или Enterprise и подключённый выделенный Build Worker.
Выбор между видимостью и владением
Заголовок раздела «Выбор между видимостью и владением»Обнаружение даёт команде общий обзор существующего приложения Compose, не меняя его владельца. Принятие под управление меняет модель владения: после него ревизии конфигурации и действия жизненного цикла выполняются в Gateway. Зафиксируйте передачу ответственности с владельцем приложения. Если после принятия продолжать независимый процесс docker compose, возникнут конкурирующие желаемые состояния.
Выбирайте управляемый Compose Project, если несколько служб на одной ноде Docker нужно проверять, применять, останавливать, восстанавливать и аудировать как одно приложение. Владелец проекта должен определить зависимости служб, ответственность за данные, источники секретов, допустимое время простоя и условия отката конфигурации. Для подходящих проектов без монтирований Business и Enterprise позволяют включить Workload Availability (HA): реплицировать проект целиком или заменить обслуживающий экземпляр при потере узла. Службы каждого экземпляра остаются на одном узле; Gateway не распределяет отдельные службы Compose по кластеру.
Успешный проект имеет одного понятного владельца конфигурации, воспроизводимую активную ревизию, работоспособные обязательные службы, известные постоянные тома, работающие Routes и приватные привязки и не содержит необъяснимых расхождений состояния.
Внешние и управляемые проекты
Заголовок раздела «Внешние и управляемые проекты»External-проект обнаруживается по каноническим меткам Docker Compose. Gateway показывает инвентарь, общее состояние, состояние служб, мониторинг и объединённые журналы, но не читает Compose-файл с хоста и не изменяет проект до явного принятия под управление.
Managed-проект хранит в Gateway исходный Compose YAML, переменные, защищённые ключи секретов и неизменяемые ревизии. Docker-демон применяет выбранную ревизию через зафиксированную среду выполнения Compose в Gateway. Одноузловой жизненный цикл доступен с Personal. Многоузловая Workload Availability доступна на Business и Enterprise; автомасштабирование по метрикам и несколько реплик на одном узле остаются In development.
Дочерние Containers проекта, именованные тома и сети, не отмеченные как external, управляются через Compose Project. Они скрыты или защищены от конфликтующих автономных операций жизненного цикла. Образы и явно внешние или общие ресурсы остаются глобальными ресурсами Docker.
Создайте управляемый проект
Заголовок раздела «Создайте управляемый проект»- Откройте Docker > Compose и выберите New Project.
- Выберите подключённую ноду Docker с поддержкой Compose.
- Введите полную конфигурацию Compose в одном файле.
- Укажите несекретные переменные и отдельно перечислите защищённые ключи секретов.
- Запустите валидацию и устраните неподдерживаемые параметры, отсутствующие переменные, конфликты портов и нарушения политики.
- Создайте проект и проследите первую операцию применения до завершения.
- Проверьте все ожидаемые службы, их состояние, сеть, тома и объединённый поток журналов.
Проекты, созданные вручную, используют только готовые образы: целевая нода должна иметь возможность их загрузить. На тарифах Business и Enterprise можно подключить разрешённый источник Git. Тогда ограниченные секции Compose build выполняются изолированными Build Workers, результат проверяется политикой уязвимостей, а одобренные дайджесты образов фиксируются в неизменяемой ревизии до развёртывания.
Примите внешний проект во владение
Заголовок раздела «Примите внешний проект во владение»Принятие под управление — явная передача ответственности. Откройте обнаруженный проект, выберите Adopt и передайте полную конфигурацию, за которую должен отвечать Gateway. До применения Gateway проверит её и подготовит первую неизменяемую ревизию.
Убедитесь, что переданный YAML соответствует работающим службам приложения, томам, сетям, переменным и секретам. Gateway не считает путь на хосте, полученный из метки, доверенным источником конфигурации. После принятия все изменения должны проходить через новые ревизии, а не через прямое изменение дочернего Container.
Ревизии и жизненный цикл
Заголовок раздела «Ревизии и жизненный цикл»Изменение конфигурации создаёт новую неизменяемую ревизию. Используйте Pull & Apply, чтобы загрузить нужные образы и применить активную ревизию, Start и Stop — для управления жизненным циклом проекта, а Change revision — для повторного применения прежней корректной ревизии. Неактивную ревизию можно удалить, если её не использует ни одна операция; активную удалять нельзя.


Операции жизненного цикла сохраняются долговременно и представлены Tasks. Перезагрузка страницы не отменяет операцию. Если доступна отмена, до запуска заменяющего действия обновите страницу проекта и состояние, сообщённое демоном.
Routes и привязки баз данных
Заголовок раздела «Routes и привязки баз данных»Routes и Secure Links могут обращаться к управляемой службе Compose по стабильным идентичностям проекта и службы, а не по временному имени Container. Управляемая привязка базы данных обновляет ревизию проекта, сохраняя исходную конфигурацию и защищённые секреты. Удаление службы или привязки должно проходить через новую ревизию, чтобы Gateway мог безопасно согласовать зависимые связи.
Расхождения и диагностика
Заголовок раздела «Расхождения и диагностика»Gateway сообщает о расхождении, если наблюдаемое состояние среды выполнения больше не соответствует активной ревизии. До повторной попытки откройте текущую операцию и проверьте соединение ноды Docker, поддержку Compose, доступ к загрузке образа, журналы служб, переменные, секреты и диагностику демона. По этапу и сообщению Task определите ответственный уровень, исправьте предварительное условие и снова запустите поддерживаемое действие.
Не исправляйте управляемый проект ручным удалением его дочерних Containers, сетей или метаданных ревизии. Для внешнего проекта до завершения принятия вносите изменения через исходный процесс Compose.
Удалите проект
Заголовок раздела «Удалите проект»Остановите управляемый проект и удалите зависимые Routes или привязки до удаления самого проекта. Удаление записи Compose Project из Gateway удаляет историю управляемых ревизий, но тома среды выполнения автоматически не удаляются. Создайте резервную копию постоянных данных или удалите их отдельно согласно требованиям приложения к хранению.
Операторские детали: восстановление ревизии
Заголовок раздела «Операторские детали: восстановление ревизии»До применения ревизии сравните её службы, образы, переменные, секреты, тома, сети и открытые порты с активной ревизией. Зафиксируйте порядок миграции и запуска приложения, если службы нельзя безопасно перезапустить одновременно. Pull & Apply может заменить среды выполнения служб и не гарантирует непрерывность существующих соединений.
Если операция прервалась, дождитесь подключения ноды Docker и обновите наблюдаемое состояние проекта до нового применения. В списке последних операций определите этап сбоя: загрузка образа, подготовка конфигурации, создание службы, проверка состояния или итоговое подтверждение. Если активная ревизия заведомо исправна, а новая непригодна, выберите прежнюю через Change revision и проверьте полный путь приложения.
Откат меняет конфигурацию Compose и среды выполнения, но не отменяет записи во внешние системы или постоянные тома. Для обратно несовместимых миграций базы данных нужен отдельный план восстановления. Не удаляйте дочерние Containers или сети проекта ради принудительного согласования: это уничтожает диагностические данные и может помешать управляемой очистке.
