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