Для кого это?
Команды, которые уже описывают свой стек в файле docker-compose и хотят запустить его за границей сети, не пересобирая сервис за сервисом.
Как это работает?
Сервисы с готовым образом становятся контейнерными приложениями; сервисы Redis, MySQL/MariaDB, Postgres и NATS преобразуются в управляемые дополнения и подключаются к приложениям, которые от них зависят. Порты, окружение, тома, реплики, healthcheck и порядок depends_on сопоставляются автоматически.
Просмотр перед применением
Предпросмотр разбирает файл на стороне сервера и возвращает план: приложения к созданию, сопоставления дополнений, ключи окружения и секретов, предупреждения, неподдерживаемые сервисы и укладывается ли всё в вашу квоту. Ничего не создаётся, пока вы не примените, а значения секретов никогда не возвращаются обратно — только имена ключей.
Безопасно по умолчанию
Применение работает по принципу «всё или ничего» в одной транзакции: если имя приложения уже существует или шаг завершается ошибкой, ничего не создаётся. Секретоподобные ключи, такие как пароли, токены и API-ключи, хранятся как секреты, а не как обычные значения окружения.
Как развернуть, шаг за шагом
Подготовьте файл compose
Убедитесь, что каждый сервис использует готовый образ (например, image: myorg/web:1.2). Сервисы, у которых есть только шаг build:, пока не поддерживаются, поэтому сначала отправьте их в реестр. Сервисы Redis, MySQL/MariaDB, Postgres и NATS не требуют образа — они автоматически превращаются в управляемые дополнения.
(Приватные образы) добавьте учётные данные реестра
Если какой-либо образ приватный, один раз откройте Container Apps → registry credentials и добавьте имя пользователя и токен доступа к реестру, чтобы платформа могла подтянуть образ во время деплоя. Пропустите этот шаг, если все ваши образы публичные.
Импортируйте файл
В панели откройте Container Apps → «Import From Docker Compose», затем загрузите или вставьте свой docker-compose.yml. На этом этапе ничего не создаётся — импорт только читает файл.
Посмотрите план
Файл разбирается на сервере, и вы получаете полный план до того, как что-либо произойдёт: какие контейнерные приложения будут созданы, какие сервисы станут управляемыми дополнениями, какие ключи хранятся как окружение, а какие как секреты, любые предупреждения или неподдерживаемые сервисы и укладывается ли всё в вашу квоту.
Примените
Подтвердите применение. В одной транзакции по принципу «всё или ничего» приложения и дополнения создаются и связываются друг с другом — порты, окружение, тома, реплики, healthcheck и порядок depends_on сопоставляются за вас. Если какой-либо шаг завершится ошибкой, ничего не создаётся.
Опубликуйте и управляйте
Опубликуйте веб-сервис, чтобы получить бесплатный URL name.cdn.com.tr с автоматическим HTTPS, или подключите собственный домен. Дальше управляйте логами, окружением, масштабированием и перезапусками в панели. Предпочитаете терминал? «cdnctl container compose preview» и «… apply» делают то же самое двумя командами.
Примеры сценариев
Перенесите многосервисный проект compose на управляемые приложения и дополнения.
Разверните обзорное или демо-окружение из того же файла compose.
Используйте один файл compose как источник истины во всех проектах.
Часто задаваемые вопросы
Собирает ли он образы из исходного кода?
Нет. Каждому сервису-приложению нужен готовый образ. Сервисы, которые определяют только шаг build, отмечаются в предпросмотре как неподдерживаемые, чтобы вы могли сначала отправить образ.
Что происходит с моим сервисом базы данных или Redis?
Сервисы Redis, MySQL/MariaDB, Postgres и NATS преобразуются в управляемые дополнения и подключаются к приложениям, которые от них зависят, вместо запуска как обычные контейнеры.
Есть ли ограничение?
Один импорт обрабатывает до 20 сервисов. Сначала запустите предпросмотр, чтобы увидеть полный план и укладывается ли он в квоту вашего аккаунта.