Cloudflare Containers
O que é
Pense em um contêiner de navio: seu aplicativo inteiro e tudo o que ele precisa são embalados em uma caixa lacrada que roda do mesmo jeito em qualquer lugar. O Cloudflare Containers permite rodar um contêiner Linux completo — essa caixa lacrada — direto dentro da rede da Cloudflare, ao lado dos seus Workers. Quando um Worker precisa de algo que não consegue fazer sozinho — um runtime (ambiente de execução) mais pesado, um arquivo de programa específico, uma linguagem ou biblioteca que não cabe no sandbox (ambiente isolado) dos Workers — ele pode repassar o trabalho para um contêiner que inicia perto dos seus usuários. Você define o contêiner, e um Worker controla quando as cópias iniciam, param e escalam.
Pontos fortes
- Roda imagens de contêiner reais, então você pode usar ferramentas e runtimes que não funcionam no sandbox dos Workers.
- Fica ao lado dos Workers na rede global da Cloudflare, então o salto entre os dois é curto.
- Um Worker orquestra os contêineres, então você mantém o roteamento, a autenticação e a lógica de borda que já tem.
- Boa opção para jobs em lote, processamento de mídia, navegadores headless (sem interface gráfica) e portabilidade de código existente baseado em Docker.
- Escala sob demanda e reduz de volta, então você não paga por servidores ociosos o tempo todo.
Contrapartidas
- Mais pesado e mais lento para iniciar do que um Worker comum — cold starts (o atraso de aquecimento quando uma requisição chega e nada ainda está rodando) são reais, então não é para toda requisição.
- Mais peças móveis: agora você gerencia uma imagem, sua build (processo de compilação) e seu ciclo de vida, não só um script.
- Custa mais do que um Worker puro para a mesma tarefa simples; recorra a ele só quando realmente precisar de um contêiner.
- Ainda mais novo do que os Workers, então espere que as ferramentas e limites continuem evoluindo.
Quando usar
Use um contêiner quando um job realmente precisa de um SO (sistema operacional) completo ou de um runtime que a borda () não consegue oferecer — rodar uma ferramenta de linha de comando () existente (um programa que você controla digitando comandos), uma linguagem que os Workers não suportam, ou uma etapa pesada em computação — mantendo sua porta de entrada nativa de borda em um Worker.
Encaixe com vibe coding
Este é um alvo limpo para ajuda de IA porque o formato é familiar: um Dockerfile (a receita que constrói o contêiner) mais um pequeno Worker que o inicia. Diga ao agente que você está no Cloudflare Containers para que ele monte a ligação (binding) entre Worker e contêiner corretamente, em vez de presumir uma (virtual machine — um computador alugado na nuvem) de nuvem genérica.
// wrangler.jsonc — bind a container to a Worker
{
"name": "my-app",
"main": "src/index.ts",
"containers": [
{ "class_name": "MyContainer", "image": "./Dockerfile" }
]
}