# Container Ports & $PORT

> Bind your application web server to the correct port to serve traffic.

- **Category**: Deploy & Configure
- **Last Verified**: 2026-07-14

A common reason deployments fail on Kubeletto is port binding mismatches. Your application container must listen on the port Knative expects.

## How Kubeletto Routes Traffic

Kubeletto routes external HTTPS traffic to your container on the configured container port (default: `8080`). At runtime, Knative automatically injects the `PORT` environment variable corresponding to this configuration.

> [!IMPORTANT]
> Your application MUST listen on address `0.0.0.0` (all interfaces) and the port provided by the $PORT environment variable. Binding to localhost (127.0.0.1) or hardcoding 3000/5000 will cause routing checks to fail with a PORT_MISMATCH error.

## Port Configuration Example (CLI)

If your application is configured to listen on port 3000, specify that during deployment:

```bash
kubeletto deploy my-service --image node-app:latest --port 3000
```

