Skip to content

Commit db59776

Browse files
Merge pull request #314020 from craigshoemaker/aca/commit-driven-updates-batch1
[Container Apps] Update 9 docs from recent k4apps commits (P1-P3 batch)
2 parents 22b85bc + 57184f9 commit db59776

9 files changed

Lines changed: 104 additions & 15 deletions

articles/container-apps/compose-agent.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
title: Deploy Docker Compose for agents to Azure Container Apps Preview
33
description: Learn how to use Docker Compose for Agents on Azure Container Apps Preview.
44
ms.topic: how-to
5-
ms.date: 11/18/2025
5+
ms.date: 03/31/2026
66
ms.service: azure-container-apps
77
ms.author: cshoe
88
author: craigshoemaker
99
---
1010

1111
# Deploy Docker Compose for agents to Azure Container Apps Preview
1212

13-
This article shows you how to deploy applications to Azure Container Apps by using Dockers 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.
1414

1515
In this article, you learn to:
1616

@@ -37,7 +37,7 @@ When you run `az containerapp compose create`, the CLI translates agent-focused
3737

3838
### Model context protocol (MCP) tooling
3939

40-
Azure Container Apps runs a variant of [Dockers 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.
4141

4242
### Models
4343

@@ -138,6 +138,15 @@ az containerapp compose create \
138138
--environment $ENV_NAME
139139
```
140140

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+
141150
### Uninstalling and switching back
142151

143152
To switch back to the stable release of the container app extension:

articles/container-apps/environment-variables.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: fred-cardoso
66
ms.service: azure-container-apps
77
ms.custom: devx-track-azurecli, devx-track-azurepowershell
88
ms.topic: how-to
9-
ms.date: 02/03/2025
9+
ms.date: 03/31/2026
1010
ms.author: fredcardoso
1111
---
1212

@@ -167,6 +167,7 @@ The following variables are available to container apps:
167167
| `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` |
168168
| `CONTAINER_APP_PORT` | The target port of the container app. | `8080` |
169169
| `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` |
170171

171172
### Jobs
172173

articles/container-apps/functions-overview.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: container-apps
55
author: craigshoemaker
66
ms.service: azure-container-apps
77
ms.topic: how-to
8-
ms.date: 04/07/2025
8+
ms.date: 03/31/2026
99
ms.author: cshoe
1010
---
1111

@@ -152,14 +152,21 @@ Azure Functions on Container Apps integrate seamlessly with Azure’s observabil
152152
- **Custom logging:** Supports standard frameworks like ILogger and console logging for structured output.
153153
- **Centralized monitoring:** Container Apps environment offers unified dashboards and alerts across all apps.
154154

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+
155162
## Considerations
156163

157164
Keep these other considerations in mind when using Azure Functions on Azure Container Apps:
158165

159166
- **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.
160167
- **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.
161168
- **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.
163170
- **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).
164171
- **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).
165172
- **Functions proxies**: Not supported. For API gateway scenarios, integrate with Azure API Management instead.

articles/container-apps/jobs.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: container-apps
55
author: craigshoemaker
66
ms.service: azure-container-apps
77
ms.topic: concept-article
8-
ms.date: 01/28/2026
8+
ms.date: 03/31/2026
99
ms.author: cshoe
1010
ms.custom:
1111
- build-2023
@@ -607,6 +607,13 @@ To configure advanced settings by using the Azure portal, create the job as desc
607607

608608
---
609609

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.
616+
610617
## Jobs restrictions
611618

612619
The following features aren't supported:

articles/container-apps/manage-secrets.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: container-apps
55
author: craigshoemaker
66
ms.service: azure-container-apps
77
ms.topic: how-to
8-
ms.date: 02/28/2025
8+
ms.date: 03/31/2026
99
ms.author: cshoe
1010
ms.custom:
1111
- devx-track-azurecli
@@ -587,6 +587,18 @@ Mounting secrets as a volume isn't supported in PowerShell.
587587

588588
---
589589

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. |
601+
590602
## Next steps
591603

592604
> [!div class="nextstepaction"]

articles/container-apps/metrics.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: container-apps
55
author: craigshoemaker
66
ms.service: azure-container-apps
77
ms.topic: how-to
8-
ms.date: 04/28/2025
8+
ms.date: 03/31/2026
99
ms.author: cshoe
1010
---
1111

@@ -17,7 +17,7 @@ The metrics explorer in the Azure portal allows you to visualize the data. You c
1717

1818
## Available metrics
1919

20-
Container Apps provides these basic metrics.
20+
Container Apps provide these basic metrics.
2121

2222
| Title | Dimensions | Description | Metric ID | Unit |
2323
|--|--|--|--|--|
@@ -26,7 +26,7 @@ Container Apps provides these basic metrics.
2626
| Network In Bytes | Replica, Revision | Network received bytes | `RxBytes` | Bytes |
2727
| Network Out Bytes | Replica, Revision | Network transmitted bytes | `TxBytes` | Bytes |
2828
| 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 |
3030
| Requests | Replica, Revision, Status Code, Status Code Category | Requests processed | `Requests` | Count |
3131
| Reserved Cores | Revision | Number of reserved cores for container app revisions | `CoresQuotaUsed` | Count |
3232
| Resiliency Connection Timeouts | Revision | Total connection timeouts | `ResiliencyConnectTimeouts` | Count |

articles/container-apps/opentelemetry-agents.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn to record and query data collected using OpenTelemetry in Azu
44
services: container-apps
55
author: craigshoemaker
66
ms.service: azure-container-apps
7-
ms.date: 03/30/2026
7+
ms.date: 03/31/2026
88
ms.author: cshoe
99
ms.topic: how-to
1010
ms.custom:
@@ -747,7 +747,7 @@ For more information, see [Microsoft.App/managedEnvironments](/azure/templates/m
747747

748748
## Data resilience
749749

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:
751751

752752
- **In-memory buffering and retries**: The agent holds data in memory and keeps retrying (with backoff) for up to five minutes.
753753
- **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
824824

825825
Agent status and health metrics aren't currently exposed. This capability is planned for a future release.
826826

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.
831+
827832
## Next steps
828833

829834
> [!div class="nextstepaction"]

articles/container-apps/troubleshoot-image-pull-failures.md

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: container-apps
55
author: craigshoemaker
66
ms.service: azure-container-apps
77
ms.topic: how-to
8-
ms.date: 01/24/2025
8+
ms.date: 03/31/2026
99
ms.author: cshoe
1010
ms.custom:
1111
---
@@ -45,3 +45,50 @@ The Container Apps diagnostics features an intelligent and interactive experienc
4545
You can also look at the image pull failures per revision in the last 24 hours, by selecting the required revision from the dropdown.
4646

4747
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)

articles/container-apps/troubleshooting.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: container-apps
55
author: craigshoemaker
66
ms.service: azure-container-apps
77
ms.topic: how-to
8-
ms.date: 02/03/2025
8+
ms.date: 03/31/2026
99
ms.author: cshoe
1010
ms.custom:
1111
---
@@ -29,6 +29,7 @@ The following table lists issues you might encounter while using Azure Container
2929
| 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) |
3030
| 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) |
3131
| 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) |
3233
| 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) |
3334

3435
## View logs

0 commit comments

Comments
 (0)