All Topics
All Topics
Technology
Technology
AI
AI
Business
Business
Entertainment
Entertainment
News
News
Programming
Programming
Security
Security
Science
Science
Design
Design
Environment
Environment
Finance
Finance
Crypto
Crypto
Politics
Politics
Sports
Sports
Education
Education
Gaming
Gaming
Art
Art
Music
Music
Health
Health
Books
Books
Food
Food
Travel
Travel
Personal
Personal
Bluesky
Twitter

Workers - Develop locally with Containers and the Cloudflare Vite plugin

11mo ago

Source

CloudflareWorkers - Develop locally with Containers and the Cloudflare Vite plugincloudflare.com
Snippet from the RSS feed
You can now configure and run Containers alongside your Worker during local development when using the Cloudflare Vite plugin . Previously, you could only develop locally when using Wrangler as your local development server. Configuration You can simply configure your Worker and your Container(s) in your Wrangler configuration file: wrangler.jsonc { " name " : "container-starter" , " main " : "src/index.js" , " containers " : [ { " class_name " : "MyContainer" , " image " : "./Dockerfile" , " instances " : 5 } ], " durable_objects " : { " bindings " : [ { " class_name " : "MyContainer" , " name " : "MY_CONTAINER" } ] }, " migrations " : [ { " new_sqlite_classes " : [ "MyContainer" ], " tag " : "v1" } ], } wrangler.toml name = "container-starter" main = "src/index.js" [[ containers ]] class_name = "MyContainer" image = "./Dockerfile" instances = 5 [[ durable_objects . bindings ]] class_name = "MyContainer" name = "MY_CONTAINER" [[ migrations ]] new_sqlite_classes = [ "MyContainer" ] tag = "v1" Worker Code Once your Worker and Containers are configured, you can access the Container instances from your Worker code: 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 } 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 ) ; } Local development To develop your Worker locally, start a local dev server by running vite dev in your terminal. Resources Learn more about Cloudflare Containers or the Cloudflare Vite plugin in our developer docs.

You might also wanna read

Comments

Sign in to join the conversation.

No comments yet. Be the first.