Troubleshooting
Start on the container detail page. It shows the status, pod state, restart count, recent logs, and the assigned IPv6 address when one exists.
Container is pending or provisioning
Provisioning waits for Kubernetes resources and an IPv6 LoadBalancer address.
If it stays pending for more than a few minutes:
- Check Billing for payment or capacity issues.
- Check whether the org is past due or suspended.
- Delete failed containers you no longer need, because they still reserve capacity.
- Try again with a known-good public image such as
nginx:1.25-alpine.
Image pull errors
Common causes:
- The image reference has a typo.
- The image is private.
- The tag does not exist.
- The registry is temporarily unavailable.
Use a fully qualified public image reference when in doubt:
docker.io/library/nginx:1.25-alpine
Private registry credentials are not supported in simple mode yet.
Container starts and then fails
Open the container detail page and read Pod state and Logs.
Common causes:
- The image expects to run as root.
- The process writes to
/, but simple mode uses a read-only root filesystem. - The process needs Linux capabilities that are dropped by the restricted security context.
- The app exits immediately because a required environment variable is missing.
- The app listens on a port other than 80 in simple mode.
- The process exceeds the 1Gi memory limit and is killed.
Fix the image or config, then use Save & restart or Restart container.
Changes are saved but not live
Editing a container saves desired config first. The running pod changes only after a restart.
Use Save & restart on the edit screen, or use Restart container from the detail page.
DNS does not resolve
Check the AAAA record:
dig AAAA app.example.com
Make sure the record value exactly matches the IPv6 address on the container detail page. If you deleted, recreated, or renamed the container, the address may have changed.
DNS resolves but the service is unreachable
Check IPv6 from your client:
curl -6 https://test-ipv6.com/
Then test the service directly:
curl -6 http://[2a01:4f8:c2c:1234::5]/
If the raw IPv6 address works but the hostname does not, the issue is DNS. If neither works, check the container status and logs.
kubectl apply is rejected
Admission policy rejects resources that break tenant guardrails. Common rejections include:
NodePortorExternalNameServices.- IPv4 or dual-stack LoadBalancer Services.
- Host-network pods.
- Node selectors.
- Unapproved storage classes.
- Edits to control-panel resources labelled
dollarbox.io/managed-by=control-panel.
Adjust the manifest or use the control panel for control-panel-managed containers.
Quota is exhausted
Billing capacity and namespace quota are linked. To clear quota pressure:
- Delete unused simple-mode containers.
- Delete unused kubectl-created workloads.
- Delete failed containers that still reserve capacity.
- Increase subscribed dollarboxes from Billing.