You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/container-apps/compose-agent.md
+12-3Lines changed: 12 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,15 +2,15 @@
2
2
title: Deploy Docker Compose for agents to Azure Container Apps Preview
3
3
description: Learn how to use Docker Compose for Agents on Azure Container Apps Preview.
4
4
ms.topic: how-to
5
-
ms.date: 11/18/2025
5
+
ms.date: 03/31/2026
6
6
ms.service: azure-container-apps
7
7
ms.author: cshoe
8
8
author: craigshoemaker
9
9
---
10
10
11
11
# Deploy Docker Compose for agents to Azure Container Apps Preview
12
12
13
-
This article shows you how to deploy applications to Azure Container Apps by using Docker’s Compose for Agents. This feature keeps the compose file you already use locally and allows you to deploy it onto Container Apps. The `az-cli` container app extension then translates the compose file into Azure Container App applications and manages identities, scaling, and model lifecycle for you.
13
+
This article shows you how to deploy applications to Azure Container Apps by using Docker's Compose for Agents. This feature keeps the compose file you already use locally and allows you to deploy it onto Container Apps. The `az-cli` container app extension then translates the compose file into Azure Container App applications and manages identities, scaling, and model lifecycle for you.
14
14
15
15
In this article, you learn to:
16
16
@@ -37,7 +37,7 @@ When you run `az containerapp compose create`, the CLI translates agent-focused
37
37
38
38
### Model context protocol (MCP) tooling
39
39
40
-
Azure Container Apps runs a variant of [Docker’s MCP gateway](https://github.com/docker/mcp-gateway) as its own container app. It uses system-assigned managed identity to add or remove MCP tool containers within the environment dynamically. This setup appears as separate containers under the mcp-gateway application. Gateway to MCP tooling communication is limited to the network. Stdio MCP servers are wrapped to run as SSE based MCP servers on Azure Container Apps. Docker for Agents on Azure Container Apps currently supports the following Stdio MCP servers: AppSignal, BigQuery, Confluence, DuckDuckGo, Fetch, Filesystem, Git, Google Drive, Jira, MongoDB, MySQL, Notion, Playwright, PostgreSQL, SequentialThinking, Slack, SQLite, Supabase, Time, Twist.
40
+
Azure Container Apps runs a variant of [Docker's MCP gateway](https://github.com/docker/mcp-gateway) as its own container app. It uses system-assigned managed identity to add or remove MCP tool containers within the environment dynamically. This setup appears as separate containers under the mcp-gateway application. Gateway to MCP tooling communication is limited to the network. Stdio MCP servers are wrapped to run as SSE based MCP servers on Azure Container Apps. Docker for Agents on Azure Container Apps currently supports the following Stdio MCP servers: AppSignal, BigQuery, Confluence, DuckDuckGo, Fetch, Filesystem, Git, Google Drive, Jira, MongoDB, MySQL, Notion, Playwright, PostgreSQL, SequentialThinking, Slack, SQLite, Supabase, Time, Twist.
41
41
42
42
### Models
43
43
@@ -138,6 +138,15 @@ az containerapp compose create \
138
138
--environment $ENV_NAME
139
139
```
140
140
141
+
### Agent settings defaults
142
+
143
+
Applications created without explicit agent settings receive the following defaults:
144
+
145
+
*`DiscoveryMode` = `Auto`, which automatically detects agent capabilities and dependencies.
146
+
*`IsAgent` = `false`, indicating that the app doesn't act as an agent unless explicitly configured.
147
+
148
+
These defaults ensure consistent behavior for all container apps in your environment.
149
+
141
150
### Uninstalling and switching back
142
151
143
152
To switch back to the stable release of the container app extension:
@@ -167,6 +167,7 @@ The following variables are available to container apps:
167
167
|`CONTAINER_APP_ENV_DNS_SUFFIX`| The DNS suffix for the Container Apps environment. To obtain the fully qualified domain name (FQDN) of the app, append the app name to the DNS suffix in the format `$CONTAINER_APP_NAME.$CONTAINER_APP_ENV_DNS_SUFFIX`. |`<DEFAULT_HOSTNAME>.<REGION>.azurecontainerapps.io`|
168
168
|`CONTAINER_APP_PORT`| The target port of the container app. |`8080`|
169
169
|`CONTAINER_APP_REPLICA_NAME`| The name of the container app replica. |`my-containerapp--20mh1s9-86c8c4b497-zx9bq`|
170
+
|`CONTAINER_NAME`| The name of the replica. Available for managed function apps and logic apps. |`my-containerapp--20mh1s9-86c8c4b497-zx9bq`|
Copy file name to clipboardExpand all lines: articles/container-apps/functions-overview.md
+9-2Lines changed: 9 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ services: container-apps
5
5
author: craigshoemaker
6
6
ms.service: azure-container-apps
7
7
ms.topic: how-to
8
-
ms.date: 04/07/2025
8
+
ms.date: 03/31/2026
9
9
ms.author: cshoe
10
10
---
11
11
@@ -152,14 +152,21 @@ Azure Functions on Container Apps integrate seamlessly with Azure’s observabil
152
152
-**Custom logging:** Supports standard frameworks like ILogger and console logging for structured output.
153
153
-**Centralized monitoring:** Container Apps environment offers unified dashboards and alerts across all apps.
154
154
155
+
156
+
## Environment variables
157
+
158
+
Azure Functions running on Container Apps have access to system-provided environment variables. The `CONTAINER_NAME` environment variable is automatically set to the replica name for your function app. Use this variable for logging, correlation, and debugging in multi-replica scenarios.
159
+
160
+
For a full list of system-provided environment variables, see [Environment variables in Azure Container Apps](environment-variables.md).
161
+
155
162
## Considerations
156
163
157
164
Keep these other considerations in mind when using Azure Functions on Azure Container Apps:
158
165
159
166
-**Ingress Requirement for Auto-Scaling**: To enable automatic scaling based on events, [ingress must be enabled](../container-apps/ingress-how-to.md)—either publicly or within the Container Apps internal environment.
160
167
-**Mandatory Storage Account**: Every Functions app deployed on Container Apps must be linked to a storage account. This is required for managing triggers, logs, and state. Review the [storage account guidance](../azure-functions/storage-considerations.md) for best practices.
161
168
-**Multi-revision storage**: When deploying with multiple active revisions, assign a dedicated storage account to each revision. Using a dedicated storage account helps prevent conflicts and ensures proper isolation. Alternatively, if you do not require concurrent revisions, consider using the default single revision mode for simplified management.
162
-
-**Multi-revision triggers**: If you are using multi-revision mode with a pull-based trigger, use a different event source for each revision to avoid conflicts related to competing consumers. Functions that use Azure Queue Storage, Azure Event Hub, Azure Service Bus, or Durable Functions triggers are examples of pull-based triggers.
169
+
-**Multi-revision triggers**: If you are using multi-revision mode with a pull-based trigger, use a different event source for each revision to avoid conflicts related to competing consumers. Functions that use Azure Queue Storage, Azure Event Hubs, Azure Service Bus, or Durable Functions triggers are examples of pull-based triggers.
163
170
-**Cold start latency**: When your container app scales in to zero during idle periods, the first request after inactivity experiences a cold start. Learn more about [reducing cold start times](../container-apps/cold-start.md).
164
171
-**Application insights integration**: For robust monitoring and diagnostics, link your Functions app to Application Insights. For more information, see [App Insights integration with Functions](../azure-functions/configure-monitoring.md?tabs=v2#enable-application-insights-integration).
165
172
-**Functions proxies**: Not supported. For API gateway scenarios, integrate with Azure API Management instead.
Copy file name to clipboardExpand all lines: articles/container-apps/jobs.md
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ services: container-apps
5
5
author: craigshoemaker
6
6
ms.service: azure-container-apps
7
7
ms.topic: concept-article
8
-
ms.date: 01/28/2026
8
+
ms.date: 03/31/2026
9
9
ms.author: cshoe
10
10
ms.custom:
11
11
- build-2023
@@ -607,6 +607,13 @@ To configure advanced settings by using the Azure portal, create the job as desc
607
607
608
608
---
609
609
610
+
## Job networking and app-to-app communication
611
+
612
+
When a job pod starts, sidecar containers (such as the Envoy proxy) are guaranteed to be ready before the main job container begins execution. This ensures that app-to-app calls made by the job at startup succeed without connection failures.
613
+
614
+
> [!NOTE]
615
+
> If your job makes calls to other container apps at startup, you don't need to add retry logic for initial sidecar readiness. The platform handles this automatically.
Copy file name to clipboardExpand all lines: articles/container-apps/manage-secrets.md
+13-1Lines changed: 13 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ services: container-apps
5
5
author: craigshoemaker
6
6
ms.service: azure-container-apps
7
7
ms.topic: how-to
8
-
ms.date: 02/28/2025
8
+
ms.date: 03/31/2026
9
9
ms.author: cshoe
10
10
ms.custom:
11
11
- devx-track-azurecli
@@ -587,6 +587,18 @@ Mounting secrets as a volume isn't supported in PowerShell.
587
587
588
588
---
589
589
590
+
## Troubleshoot Key Vault references
591
+
592
+
When you reference secrets from Azure Key Vault, you might encounter issues during secret retrieval or synchronization. Here are common errors and resolutions:
593
+
594
+
| Error | Cause | Resolution |
595
+
|-------|-------|-----------|
596
+
| Managed identity not enabled | The container app doesn't have a managed identity assigned. | Enable system-assigned or user-assigned managed identity on your container app. See [Managed identities](managed-identity.md). |
597
+
| Identity not found | The specified managed identity doesn't exist or isn't assigned to the container app. | Verify the identity is created and assigned to the container app in the **Identity** section. |
598
+
| Secret disabled in Key Vault | The secret is disabled in the Key Vault resource. | Go to your Key Vault in the Azure portal and enable the secret. |
599
+
| Authentication failed | The managed identity lacks the required permissions to read the secret. | Grant the **Key Vault Secrets User** role to the managed identity on your Key Vault. See [Key Vault Secrets User](/azure/role-based-access-control/built-in-roles/security#key-vault-secrets-user). |
600
+
| RBAC permission denied | The managed identity has insufficient permissions to access the Key Vault. | Verify the RBAC role assignment on the Key Vault and ensure it includes read permissions for secrets. |
| Replica count | Revision | Number of active replicas |`Replicas`| Count |
29
-
| Total Replica Restart Count | Replica, Revision | Total number of restarts since the replica came online|`RestartCount`| Count |
29
+
| Total Replica Restart Count | Replica, Revision | Total number of restarts for app container instances only, excluding platform-managed sidecar containers|`RestartCount`| Count |
30
30
| Requests | Replica, Revision, Status Code, Status Code Category | Requests processed |`Requests`| Count |
31
31
| Reserved Cores | Revision | Number of reserved cores for container app revisions |`CoresQuotaUsed`| Count |
Copy file name to clipboardExpand all lines: articles/container-apps/opentelemetry-agents.md
+7-2Lines changed: 7 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: Learn to record and query data collected using OpenTelemetry in Azu
4
4
services: container-apps
5
5
author: craigshoemaker
6
6
ms.service: azure-container-apps
7
-
ms.date: 03/30/2026
7
+
ms.date: 03/31/2026
8
8
ms.author: cshoe
9
9
ms.topic: how-to
10
10
ms.custom:
@@ -747,7 +747,7 @@ For more information, see [Microsoft.App/managedEnvironments](/azure/templates/m
747
747
748
748
## Data resilience
749
749
750
-
In the event of a messaging inturruptions to an endpoint, the OpenTelemetry agent uses the following procedure to support data resilience:
750
+
In the event of a messaging interruption to an endpoint, the OpenTelemetry agent uses the following procedure to support data resilience:
751
751
752
752
-**In-memory buffering and retries**: The agent holds data in memory and keeps retrying (with backoff) for up to five minutes.
753
753
-**Dropping data**: If the buffered queue fills up, or the endpoint is still down after retries, the agent discards the oldest batches to avoid running out of memory.
@@ -824,6 +824,11 @@ These resources are managed by Microsoft and don't appear in your billing or res
824
824
825
825
Agent status and health metrics aren't currently exposed. This capability is planned for a future release.
826
826
827
+
828
+
## Custom DNS configuration
829
+
830
+
The managed OpenTelemetry collector respects custom DNS configuration in your Container Apps environment. If you've configured custom DNS settings, the collector automatically uses those settings for name resolution when connecting to external endpoints. This ensures that your OpenTelemetry data is routed correctly through your network infrastructure.
Copy file name to clipboardExpand all lines: articles/container-apps/troubleshoot-image-pull-failures.md
+48-1Lines changed: 48 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ services: container-apps
5
5
author: craigshoemaker
6
6
ms.service: azure-container-apps
7
7
ms.topic: how-to
8
-
ms.date: 01/24/2025
8
+
ms.date: 03/31/2026
9
9
ms.author: cshoe
10
10
ms.custom:
11
11
---
@@ -45,3 +45,50 @@ The Container Apps diagnostics features an intelligent and interactive experienc
45
45
You can also look at the image pull failures per revision in the last 24 hours, by selecting the required revision from the dropdown.
46
46
47
47
To view the number of image pull failures per revision for your container app, select **Click to show**.
48
+
49
+
## Image pull validation
50
+
51
+
Image pull validation is only performed when the container image reference changes during an update. When you update your container app with the same image reference, the validation process is skipped and the deployment proceeds without re-validating the image. This optimization reduces deployment time for unchanged images.
52
+
53
+
If you need to validate an image again, you can modify the image tag or reference and then update your container app to trigger the validation.
54
+
55
+
## Resolving image pull failures
56
+
57
+
### Step 1: Verify the image exists
58
+
59
+
To verify that the image exists in the registry:
60
+
61
+
1. Use a Docker client to pull the image from the registry manually.
62
+
1. Confirm the exact image name and tag.
63
+
1. Verify that the image tag exists in the registry.
64
+
65
+
### Step 2: Check authentication credentials
66
+
67
+
If you're using a private registry:
68
+
69
+
1. Verify that the registry credentials (username and password) are correct.
70
+
1. Confirm that the credentials haven't expired.
71
+
1. Ensure that the identity pulling the image has permission to access the registry.
72
+
1. For Azure Container Registry, verify that the managed identity has the **AcrPull** role assigned.
73
+
74
+
### Step 3: Verify network connectivity
75
+
76
+
To verify network connectivity between Azure Container Apps and the registry:
77
+
78
+
1. Confirm that your Container Apps environment can reach the registry.
79
+
1. Check DNS resolution for the registry FQDN.
80
+
1. Verify firewall and network security group rules aren't blocking access.
81
+
1. If using a private endpoint, ensure it's properly configured and accessible.
82
+
83
+
### Step 4: Check rate limits
84
+
85
+
If you suspect rate limiting:
86
+
87
+
1. Wait a few minutes before attempting to pull the image again.
88
+
1. For Docker Hub, consider using a paid account or implementing a registry mirror.
89
+
1. If using Azure Container Registry, check the registry's quotas and limits.
90
+
91
+
## Related content
92
+
93
+
-[Containers in Azure Container Apps](containers.md)
94
+
-[Managed identities in Azure Container Apps](managed-identity.md)
Copy file name to clipboardExpand all lines: articles/container-apps/troubleshooting.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ services: container-apps
5
5
author: craigshoemaker
6
6
ms.service: azure-container-apps
7
7
ms.topic: how-to
8
-
ms.date: 02/03/2025
8
+
ms.date: 03/31/2026
9
9
ms.author: cshoe
10
10
ms.custom:
11
11
---
@@ -29,6 +29,7 @@ The following table lists issues you might encounter while using Azure Container
29
29
| Responses not as expected | The container app endpoint responds to requests, but the responses aren't as expected. |[Verify traffic is routed to the correct revision](#verify-traffic-is-routed-to-the-correct-revision)<br><br>[Verify you're using unique tags when deploying images to the container registry](/azure/container-registry/container-registry-image-tag-version)|
30
30
| Missing parameters error | You receive error messages about missing parameters when you run `az containerapp` commands in the Azure CLI, or run cmdlets from the `Az.App` module in Azure PowerShell. |[Verify latest version of Azure Container Apps extension is installed](#verify-latest-version-of-azure-container-apps-extension-is-installed)|
31
31
| Preview features not available |[Preview features](./whats-new.md) are not available when you run `az containerapp` commands in the Azure CLI. |[Verify Azure Container Apps extension allows preview features](#verify-azure-container-apps-extension-allows-preview-features)|
32
+
| Key Vault secret sync error | You're unable to retrieve or synchronize secrets from Azure Key Vault. |[Troubleshoot Key Vault references](./manage-secrets.md#troubleshoot-key-vault-references)|
32
33
| Deleting your app or environment doesn't work | This issue is often accompanied by a message such as **provisioningState: ScheduledForDelete**. |[Manually delete the associated VNet](#manually-delete-the-vnet-being-used-by-the-azure-container-apps-environment)|
0 commit comments