
[ERROR] Forbidden err manually deploying?hello-container -> deploys ok when via cf Github action, but this fails413 Request Entity Too Large - even though the layer is under 2GB. i guess there is a lower per-layer limit?mix phx.gen.release --docker .. added a wrangler.tml file with a basic config npx wrangler deploy i'm getting this error: 



Because all Container requests are passed through a Worker, end-users cannot make TCP or UDP requests to a Container instance. [[containers]] I think?docker ps
—platform=linux/amd64 to my FROM in docker but I’m still having issues.[ERROR] Forbiddenhello-container npx wrangler deploy
❯ npx wrangler deploy
⛅️ wrangler 4.21.1
───────────────────
Total Upload: 105.45 KiB / gzip: 25.41 KiB
Worker Startup Time: 11 ms
Your Worker has access to the following bindings:
Binding Resource
env.MY_CONTAINER (MyContainer) Durable Object
Uploaded hello-containers (5.20 sec)
Building image hello-containers:dbd9d60a
✘ [ERROR] Forbidden
🪵 Logs were written to "/Users/drew/Library/Preferences/.wrangler/logs/wrangler-2025-06-24_18-44-11_921.log"
hello-containers main 13s 20:44:24
❯Login Succeeded
Image does not exist remotely, pushing: registry.cloudflare.com/3ac73ad157bc18d2890dfd70f000bd07/mycontainer:5f39f398
The push refers to repository [registry.cloudflare.com/3ac73ad157bc18d2890dfd70f000bd07/mycontainer]
e303a827c75d: Retrying in 3 seconds 413 Request Entity Too Largemix phx.gen.release --dockername = "mycontainer"
compatibility_date = "2025-06-24"
[assets]
directory = "./rel"
[[containers]]
class_name = "MyContainer"
image = "./Dockerfile"
max_instances = 10
instance_type = "basic" # Optional, defaults to "dev"
image_vars = { FOO = "BAR" }
[[durable_objects.bindings]]
name = "silent-unit-dbda_MyContainer"
class_name = "MyContainer"
[[migrations]]
tag = "v1"
new_sqlite_classes = ["MyContainer"]npx wrangler deploy✘ [ERROR] Your Worker depends on the following Durable Objects, which are not exported in your entrypoint file: MyContainer.name = "mycontainer"
compatibility_date = "2025-06-24"
[assets]
directory = "./rel"
[[containers]]
class_name = "MyContainer"
image = "./Dockerfile"
max_instances = 10
instance_type = "basic" # Optional, defaults to "dev"
image_vars = { FOO = "BAR" }
[[durable_objects.bindings]]
name = "MyContainer"
class_name = "MyContainer"[assets]
directory = "./_build" <--- the release directory[containers]
image = "./Dockerfile"Because all Container requests are passed through a Worker, end-users cannot make TCP or UDP requests to a Container instance. [[containers]]docker pull otel/opentelemetry-collector-contrib:0.128.0
docker tag otel/opentelemetry-collector-contrib:0.128.0 opentelemetry-collector-contrib:0.128.0
npx wrangler containers push opentelemetry-collector-contrib:0.128.0There is no Container instance available at this time.
This is likely because you have reached your max concurrent instance count (set in wrangler config) or are you currently provisioning the Container.
If you are deploying your Container for the first time, check your dashboard to see provisioning status, this may take a few minutes.78b186a1676b cloudflare-dev/opentelemetrycontainer:dd5373cf "/otelcol-contrib --…" 8 seconds ago Up 7 seconds 0.0.0.0:32813->4317/tcp, [::]:32813->4317/tcp, 0.0.0.0:32814->4318/tcp, [::]:32814->4318/tcp, 0.0.0.0:32815->55678/tcp, [::]:32815->55678/tcp, 0.0.0.0:32816->55679/tcp, [::]:32816->55679/tcp workerd-opentelemetry-exploration-OpenTelemetryContainer-c8a1bd81d48b5c133d43ff665add35273c6305f82f94a7fe0adae6baa179c408—platform=linux/amd64// ...
export class OpenTelemetryContainer extends Container {
// Port the container listens on (default: 8080)
defaultPort = 13133; // http port
// Time before ~~container~~ sleeps due to inactivity (default: 30s)
sleepAfter = "2m";
// Environment variables passed to the container
envVars = {
MESSAGE: "I was passed in via the container class!",
};
// ...
}
//...
app.get("/health", async (c) => {
const container = getContainer(c.env.OTEL_CONTAINER);
return await container.fetch(c.req.raw);
});