← Containers / containers
Развертывание Containers
Развёртывание с вашего компьютера
-
Если
imageв конфигурации Wrangler указывает путь к Dockerfile, запустите Docker ↗ или другой совместимый с Docker движок. Укажите сам Dockerfile, а не его каталог. Еслиimageуказывает на ссылку реестра (Cloudflare Registry, Docker Hub, Amazon ECR или Google Artifact Registry), Docker во время развёртывания не требуется. См. Управление образами. -
В каталоге проекта выполните:
npx wrangler deploy -
Дождитесь завершения команды.
wrangler deploy загружает и активирует ваш Worker ещё до обработки конфигурации контейнера. Для образа из Dockerfile Wrangler затем при необходимости собирает и отправляет образ. Для образа из реестра используется настроенная ссылка на образ. Эти шаги не транзакционны: сборка образа, отправка образа или развертывание ошибка может произойти уже после того, как новый Worker станет активным.
Для уже существующего приложения контейнера Wrangler запускает развёртывание при изменении эффективной конфигурации контейнера. Команда не дожидается замены каждого экземпляра контейнера, поэтому новый код Worker может ненадолго обращаться к контейнерам, которые всё ещё работают на предыдущем образе. Первое развёртывание создаёт приложение контейнера напрямую, а деплой без изменений эффективной конфигурации контейнера не запускает развёртывание.
Сведения о флагах развёртывания и настройке шагов см. в Развёртывания.
Развёртывание с помощью Workers Builds
Workers Builds выполняет команды сборки и развёртывания, которые вы настроили для Worker, подключённого к вашему репозиторию Git.
| Ветка Git | Команда развёртывания по умолчанию | Containers |
|---|---|---|
| Продакшен-ветка | npx wrangler deploy |
Публикует образ при необходимости и разворачивает экземпляры контейнеров. Сборки Dockerfile можно выполнять в среде Workers Builds. |
| Другие ветки (если сборки непродакшен-веток включены) | npx wrangler versions upload |
Загружает только код Worker. Не публикует новый образ и не выполняет развёртывание экземпляров контейнеров. |
Production
-
В панели управления Cloudflare перейдите в Workers & Pages, откройте Worker, который хотите развернуть, затем перейдите в Настройки > Builds.
Перейдите в Workers & Pages ↗ -
Задайте Команда развертывания к
npx wrangler deploy, или в скрипт пакета, который выполняет полное развёртывание. -
Следите за тем, чтобы конфигурация Wrangler и Dockerfile или ссылка на образ укладывались в лимит Workers Builds корневой каталог.
-
Отправьте в свой продакшен-ветка.
-
Убедитесь, что сборка прошла успешно, затем проверить деплой.
Чтобы подключить репозиторий, см. Workers Builds.
Перед выходом в продакшен
wrangler deployпубликует образы контейнеров (при необходимости) и разворачивает экземпляры контейнеров для развёртываемого вами Worker.wrangler versions upload(команда деплоя по умолчанию для непродакшен веток в Workers Builds) загружает только новую версию Worker. Она не публикует новый образ и не разворачивает экземпляры контейнеров.- Preview URLs не генерируются для Workers, реализующих Durable Objects, что включает Containers Workers. Успешный непроизводственный запуск Workers Builds всё равно создаёт версию Worker, но не создаёт URL предпросмотра всего приложения.
| Цель | Что делать |
|---|---|
| Изменяйте Worker и контейнер вместе на локальной машине | Локальная разработка с wrangler dev |
| Делитесь развёрнутым окружением с собственным образом и экземплярами контейнеров | A Окружение Wrangler или отдельный Worker, каждый из которых подключён к Workers Builds с помощью полной команды развёртывания, такой как npx wrangler deploy --env staging. См. Workers Builds и окружения Wrangler. |
| Обновить продакшен | Слияние в продакшен-ветку (или выполнение wrangler deploy локально) |
Проверьте свой деплой
После wrangler deploy или продакшен-развёртывания Workers Builds:
-
Убедитесь, что новое развёртывание Worker активно в дашборде.
-
Отправьте запрос, который должен достичь контейнера, и убедитесь, что поведение соответствует ожидаемому.
-
При необходимости запустите
Перейдите в Containers ↗npx wrangler containers listиnpx wrangler containers images list, или откройте панель Containers:
Сведения о постепенных шагах, периодах ожидания и режимах развёртывания см. в Развёртывания.
Устранение неполадок
| Проблема | Что делать |
|---|---|
| Непроизводственный запуск Workers Builds завершается успешно, но приложение нельзя полностью просмотреть | Используйте локальная разработка или staging Worker либо окружение с wrangler deploy. См. Перед выходом в продакшен. |
| Развёртывание или запуск Workers Builds завершается успешно, но экземпляры контейнеров выглядят без изменений | Постепенное развёртывание может ещё выполняться, либо команда не обновила контейнеры (versions upload или --containers-rollout=none). См. Развёртывания. |
| Развёртывание завершается ошибкой из-за отсутствия Docker | Требуется только если image указывает путь к Dockerfile. Запустите Docker, используйте Workers Builds или переключитесь на образ реестра, или используйте --containers-rollout=none для развёртывания только Worker. |
| Первое развёртывание: Worker работает, маршруты контейнера выдают ошибку | Подождите несколько минут, пока выполняется подготовка, затем проверьте логи. |