INTEGRITY Документация

Containers

Расширьте возможности Workers с помощью бессерверных контейнеров

Доступно на тарифе Workers Paid

Запускайте код, написанный на любом языке программирования и созданный для любой среды выполнения, как часть приложений на Workers.

Разверните образ контейнера в Region:Earth не заботясь об управлении инфраструктурой, достаточно определить Worker и wrangler deploy.

С Containers вы можете выполнить:

Экземпляры Container запускаются по требованию и управляются кодом, который вы пишете в вашем Worker. Вместо того чтобы выстраивать цепочки вызовов API или писать операторы Kubernetes, вы просто пишете код на JavaScript:

import { Container, getContainer } from "@cloudflare/containers";

export class MyContainer extends Container {
	defaultPort = 4000; // Port the container is listening on
	sleepAfter = "10m"; // Stop the instance if requests not sent for 10 minutes
}

export default {
	async fetch(request, env) {
		const { "session-id": sessionId } = await request.json();
		// Get the container instance for the given session ID
		const containerInstance = getContainer(env.MY_CONTAINER, sessionId);
		// Pass the request to the container instance on its default port
		return containerInstance.fetch(request);
	},
};
{
	"name": "container-starter",
	"main": "src/index.js",
	// Set this to today's date
	"compatibility_date": "2026-08-28",
	"containers": [
		{
			"class_name": "MyContainer",
			"image": "./Dockerfile",
			"max_instances": 5
		}
	],
	"durable_objects": {
		"bindings": [
			{
				"class_name": "MyContainer",
				"name": "MY_CONTAINER"
			}
		]
	},
	"migrations": [
		{
			"new_sqlite_classes": ["MyContainer"],
			"tag": "v1"
		}
	]
}
name = "container-starter"
main = "src/index.js"
# Set this to today's date
compatibility_date = "2026-08-28"

[[containers]]
class_name = "MyContainer"
image = "./Dockerfile"
max_instances = 5

[[durable_objects.bindings]]
class_name = "MyContainer"
name = "MY_CONTAINER"

[[migrations]]
new_sqlite_classes = [ "MyContainer" ]
tag = "v1"

Начало работы

дашборд Containers


Следующие шаги

Начало работы

Соберите и отправьте образ, вызовите Container из Worker и опробуйте масштабирование и маршрутизацию.

Примеры

Маршрутизация с сохранением и без сохранения состояния, региональное размещение, интеграции с Workflow и Queue, выполнение кода, сгенерированного ИИ, и краткоживущие нагрузки.

Локальная разработка

Запускайте Worker и контейнер вместе с wrangler dev или vite dev перед развёртыванием.

Развернуть

Разверните со своей машины или через Workers Builds и подтвердите развёртывание.


Дополнительные ресурсы

Развёртывания

Как обновляются экземпляры контейнера после развёртывания.

Лимиты

Количество экземпляров, размер образа и другие ограничения платформы.

Wrangler

Команды CLI для образов и контейнеров.

SSH

Подключайтесь к запущенным экземплярам контейнеров по SSH с помощью Wrangler.

Discord Containers

Задавайте вопросы, показывайте, что вы создаёте, и общайтесь с другими разработчиками Containers.

Содержание

30 страниц, зеркалированных из документации Cloudflare по containers.

Pages

Примеры

Жизненный цикл контейнера