サーバーレス Container で Workers を強化します
任意のプログラミング言語で書いたコードを、任意のランタイム向けにビルドし、Workers 上のアプリの一部として実行できます。
インフラ管理を気にせず、Container イメージを Region:Earth にデプロイできます。Worker を定義し、wrangler deploy するだけです。
Containers では次を実行できます。
- CPU コアの並列実行、大量のメモリやディスク容量が必要な、リソース負荷の高いアプリケーション
- 完全なファイルシステム、特定のランタイム、Linux に近い環境が必要なアプリケーションやライブラリ
- Container イメージとして配布されている既存のアプリケーションやツール
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-09-20",
"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-09-20"
[[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 ダッシュボード
イメージをビルドしてプッシュし、Worker から Container を呼び出し、スケールとルーティングを試します。
ステートレスおよびステートフルなルーティング、リージョン配置、Workflow と Queue の連携、AI 生成コードの実行、短寿命のワークロードです。
デプロイ前に、wrangler dev または vite dev で Worker と Container を一緒に実行します。
手元のマシンまたは Workers Builds からデプロイし、完了を確認します。
ロールアウト
デプロイ後に Container インスタンスが更新される仕組みです。
イメージ管理
Containers 向けにイメージをビルド、プッシュ、プルします。
Container のライフサイクル
Container のスケジュール、起動、ルーティング、シャットダウンの仕組みです。
制限
インスタンス数、イメージサイズ、その他のプラットフォーム制限です。
Wrangler
イメージと Container 向けの CLI コマンドです。
Durable Object Container API
Durable Object から Container プロセスを起動、停止し、通信します。
SSH
Wrangler 経由の SSH で、稼働中の Container インスタンスに接続します。
Containers Discord
質問したり、作っているものを共有したり、ほかの Containers 開発者と話したりできます。