Container Apps errors — image pulls, revisions that never get ready, probes, target port, identity and capacity

Why a container app deployment fails or its revision never serves — image pull and registry authentication failures, ErrImagePull, ContainerCrashing and time-out provisioning errors, "Deployment Progress Deadline Exceeded", default probes failing against the wrong port, ingress target port mismatches, secrets and managed identity errors, scaler connectivity, environment capacity versus quota — with the system log queries and CLI checks that find each one.

markdownreferencev10E4Y-5PR8stage: operatetrust: officialservice: container-appsinterface: anyError provisioning revision ErrorCode ErrImagePullErrorCode ContainerCrashingErrorCode Time-outDeployment Progress Deadline Exceeded. 0/1 replicas ready.Error ingress routes not readyError ContainerCrashedError fetching scaler metricsError mounting volumeImagePullBackOffUNAUTHORIZED container appsCrashLoopBackOffrevision Degraded 0 ready replicasrevision stuck Provisioningtarget port mismatchingress 403 502 container appsContainerAppSystemLogs_CLContainerAppConsoleLogs_CLenvironment capacity errorimage pull validation same tagacrpull container app identityregistry identity system

Created 21 Oct 2026 · Modified 23 Oct 2026 · 1 version

Container Apps errors

Find the failing stage first. No revision created → image or registry. Revision created but not ready → the container, its probes or its port. Revision healthy but requests fail → ingress or networking. Then read the matching log: system logs (ContainerAppSystemLogs_CL, or ContainerAppSystemLogs with diagnostic settings: reference/monitor/diagnostic-settings-and-data-collection.md) for pulls, probes, identity and secrets; console logs (ContainerAppConsoleLogs_CL) for your app's stdout and stack traces.

az containerapp show -n <app> -g <rg> --query "{provisioning:properties.provisioningState, latest:properties.latestRevisionName}" -o json
az containerapp revision list -n <app> -g <rg> --query "[].{name:name, health:properties.healthState, state:properties.provisioningState}" -o table
az containerapp logs show -n <app> -g <rg> --type system --tail 50

Image and registry

MessageCause → fixCheck
Error provisioning revision <name>. ErrorCode: [ErrImagePull]; ImagePullBackOff; UNAUTHORIZED; no revision createdWrong image name or tag; missing or expired registry credentials; the pulling identity lacks AcrPull (or Container Registry Repository Reader on an ABAC-mode registry); registry firewall or DNS; Docker Hub rate limitsaz acr repository show-tags -n <acr> --repository <repo>; az containerapp show -n <app> -g <rg> --query properties.configuration.registries
Pull with identity: 'system' fails on the first deploymentThe system-assigned identity doesn't exist until the app does, so it can't hold AcrPull before the first pull. Use a user-assigned identity with AcrPull granted beforehand (Microsoft recommends user-assigned), or create the app with a public image firstRole assignments on the registry
Updating to the same image tag doesn't pick up a new image or re-check itImage pull validation runs only when the image reference changes. Deploy immutable tags (a commit SHA or digest)The revision's image

The revision never becomes ready

MessageCause → fixCheck
Error provisioning revision <name>. ErrorCode: [ContainerCrashing]; Error: ContainerCrashed; CrashLoopBackOffThe process exits: unhandled error, missing file or setting, wrong command or entrypoint, or out of memoryConsole logs for the last lines before exit; system logs for OOM
Error provisioning revision <name>. ErrorCode: [Time-out]; Deployment Progress Deadline Exceeded. 0/1 replicas ready.; revision stuck in ProvisioningSlow startup against the probes, an init container that doesn't finish, or a port mismatchProbe settings; properties.template.initContainers
Revision Degraded with 0 ready replicasProbes failing. With HTTP ingress and no custom probes, TCP startup, liveness and readiness probes are added on the ingress target port (Microsoft's pages disagree on whether the portal or the platform adds them; assume they exist). An app listening elsewhere never passesaz containerapp show -n <app> -g <rg> --query "properties.template.containers[0].probes"
Error: ingress routes not readyIngress didn't come up for the revision, usually because no replica got readyThe probe and port rows above
Target port mismatch (app on 8080, ingress targetPort 80, or the reverse)Set targetPort to the port the app listens on and EXPOSE it. Also bind to all interfaces (0.0.0.0): a server bound to localhost can't be reached from outside the container (the hub's reading; not on Microsoft's page)az containerapp ingress show -n <app> -g <rg> --query targetPort
Error mounting volume <name>.The storage mount's account, share, key or network is wrongaz containerapp env storage list -n <env> -g <rg>
Secret or environment variable empty at runtimeA secretref: to a missing secret, or a Key Vault secret reference the app's identity can't readaz containerapp secret list -n <app> -g <rg> (names only)
Error fetching scaler metricsThe scale rule can't reach its source (queue, Event Hubs, database) or authenticate to itThe scale rule's auth (secretRef or identity) and network path

Serving and identity

SymptomCause → fix
Endpoint returns 403 or 502Ingress is internal, or IP restrictions, or the revision has no ready replica; with multiple-revision mode, traffic may point at an old revision
Managed identity returns 401 or 403 to the appThe identity isn't assigned to the app, the code didn't pass the user-assigned client ID, or the target resource lacks the role (reference/managed-identity/errors.md)
Environment creation fails with a capacity errorThe region lacks capacity at that moment. A quota increase doesn't help: retry later, in another region, or without zone redundancy. A quota error is different: request more

App configuration: reference/container-apps/apps-ingress-and-scale.md. Registry-side errors: reference/container-registry/errors.md.

Read this document as markdown — the same bytes an agent receives.