Azure Container Registry (ACR)
July 8, 2026 · View on GitHub
This guide provides step-by-step instructions to build and push Docker images for WebApp and Backend services into Azure Container Registry (ACR).
⚠️ Important:
azd updoes not build or push your application images automatically. The backend and mcp_server Container Apps start with a temporaryhello-worldplaceholder image and remain non-functional until you push the real images. Whenazd upfinishes, thepostdeployhook (defined inazure.yaml) prints the commands to run — it does not execute them for you. The wrapper scriptsinfra/scripts/post-provision/build_and_push_images.sh(Bash) andinfra/scripts/post-provision/Build-And-Push-Images.ps1(PowerShell) build and push the backend, frontend, and mcp_server images to ACR and repoint the apps. Run one of them afterazd up. Use the manual steps below only for custom or one-off image builds.
📋 Prerequisites
Before starting, ensure you have:
-
An active Azure Subscription
-
Azure CLI installed and logged in
-
Docker Desktop installed and running
-
Access to your Azure Container Registry (ACR)
-
To create an Azure Container Registry (ACR), you can refer to the following guides:
Login to ACR :
az acr login --name $ACR_NAME
🚀 Build and Push Images
Backend :
az acr login --name <containerregname>
docker build --no-cache -f src/backend/Dockerfile -t <acrloginserver>/<repo>:<tagname> ./src/backend
docker push <acrloginserver>/<repo>:<tagname>
If you want to update image tag and image manually you can follow below steps:
-
Go to your Container App in the Azure Portal.
-
In the left menu, select Containers.
-
Under your container, update:
-
Image source → Azure Container Registry / Docker Hub.
-
Image name → myapp/backend.
-
Tag → change to the new one you pushed (e.g., v2).
-
-
Click Save → this will create a new revision automatically with the updated image.

WebApp :
az acr login --name <containerregname>
docker build --no-cache -f src/App/Dockerfile -t <acrloginserver>/<repo>:<tagname> ./src/App
docker push <acrloginserver>/<repo>:<tagname>
If you want to update image tag and image manually you can follow below steps:
-
Go to your App Service in the Azure Portal.
-
In the left menu, select Deployment → Deployment Center
-
Under Container settings, you can configure:
-
Image Source → (e.g., Azure Container Registry / Docker Hub / Other).
-
Image Name → e.g., myapp/backend.
-
Tag → e.g., v1.2.3.
-

MCP Server :
az acr login --name <containerregname>
docker build --no-cache -f src/mcp_server/Dockerfile -t <acrloginserver>/<repo>:<tagname> ./src/mcp_server
docker push <acrloginserver>/<repo>:<tagname>
If you want to update image tag and image manually you can follow below steps:
-
Go to your Container App in the Azure Portal.
-
In the left menu, select Containers.
-
Under your container, update:
-
Image source → Azure Container Registry / Docker Hub.
-
Image name → myapp/mcp.
-
Tag → change to the new one you pushed (e.g., v2).
-
-
Click Save → this will create a new revision automatically with the updated image.

✅ Verification
Run the following command to verify that images were pushed successfully:
az acr repository list --name $ACR_NAME --output table
You should see repositories in the output.
📝 Notes
-
Always use meaningful tags (v1.0.0, staging, prod) instead of just latest.
-
If you are pushing from a CI/CD pipeline, make sure the pipeline agent has access to Docker and ACR.
-
For private images, ensure your services (e.g., Azure Container Apps, AKS, App Service) are configured with appropriate ACR pull permissions.