Cloudflare Containers
Что это такое
Cloudflare Containers позволяют запускать полноценный образ Linux-контейнера прямо внутри сети Cloudflare, рядом с вашими Workers. Когда Worker'у нужно то, чего он не может сделать сам — более тяжёлая среда выполнения, конкретный бинарник, язык или библиотека, не вписывающиеся в песочницу Workers, — он может передать работу контейнеру, который поднимается близко к вашим пользователям. Вы описываете контейнер, а Worker управляет тем, когда экземпляры запускаются, останавливаются и масштабируются.
Сильные стороны
- Запускает настоящие образы контейнеров, поэтому можно использовать инструменты и среды выполнения, не работающие в песочнице Workers.
- Живёт рядом с Workers в глобальной сети Cloudflare, поэтому переход между ними короткий.
- Worker оркестрирует контейнеры, поэтому вы сохраняете маршрутизацию, аутентификацию и edge-логику, которые у вас уже есть.
- Хорошо подходит для пакетных задач, обработки медиа, headless-браузеров и переноса существующего кода на основе Docker.
- Масштабируется по запросу и сворачивается обратно, поэтому вы не платите за простаивающие серверы круглые сутки.
Компромиссы
- Тяжелее и медленнее стартует, чем обычный Worker, — холодный старт реален, поэтому это не для каждого запроса.
- Больше движущихся частей: теперь вы управляете образом, его сборкой и жизненным циклом, а не просто скриптом.
- Стоит дороже чистого Worker'а для той же простой задачи; прибегайте к нему только тогда, когда контейнер действительно нужен.
- Всё ещё новее, чем Workers, поэтому ожидайте, что инструментарий и лимиты будут продолжать развиваться.
Когда это использовать
Используйте контейнер, когда задача действительно требует полноценной ОС или среды выполнения, которую edge дать не может — запуск существующего CLI-инструмента, язык, не поддерживаемый Workers, или ресурсоёмкий шаг, — сохраняя при этом свою edge-нативную входную точку в Worker'е.
Соответствие vibe coding
Это чистая цель для помощи ИИ, потому что форма знакома: Dockerfile плюс небольшой Worker, который его запускает. Скажите агенту, что вы на Cloudflare Containers, чтобы он правильно настроил привязку Worker-к-контейнеру, а не предполагал обычную облачную виртуальную машину.
// wrangler.jsonc — bind a container to a Worker
{
"name": "my-app",
"main": "src/index.ts",
"containers": [
{ "class_name": "MyContainer", "image": "./Dockerfile" }
]
}