When building Windows Server containers, the base image is the foundation everything else sits on. A base image provides the operating system, runtime, and basic tools that your application needs to run. Microsoft hosts base images in the Microsoft Container Registry (MCR), and these images come in different versions for different programming languages.
When choosing a base image, avoid tags that specify exact minor versions like "8.0" because those tags never receive updates. Instead, use tags that point to the latest stable version so you automatically get security patches. For example, use the .NET isolated worker model image at mcr.microsoft.com/azure-functions/dotnet-isolated:4-dotnet-isolated8.0, the Java image at mcr.microsoft.com/azure-functions/java:4-java21, and the Python image at mcr.microsoft.com/azure-functions/python:4-python3.12. If your image ends with -appservice, you can enable SSH and remote debugging features. Always pull the latest base images regularly to stay protected.
Keeping container images secure requires ongoing attention because new vulnerabilities are discovered constantly. The most important rule is to avoid outdated minor versions in your base images—these stop receiving updates and become security risks. When vulnerabilities are found in the base image, your custom image inherits that risk until you rebuild it.
Rebuild your custom container images regularly using the latest base image updates to incorporate new features and critical security patches. Implement vulnerability scanning to automatically detect known weaknesses in your images, and enable content trust to verify that images come from their stated source and have not been tampered with. Keep your custom image layers optimized by removing unnecessary tools and files, because each layer adds potential attack surface that attackers could exploit.
Azure Container Registry (ACR) is Microsoft's service for storing and managing container images in Azure. ACR handles the complete lifecycle of your container images, from development through deployment.
ACR provides image replication policies that automatically copy your images to multiple Azure regions, which improves availability and reduces latency for users in different geographical areas. The service also manages image tagging, giving you a systematic way to label and organize different versions of your containers so you can track what is deployed and roll back when needed. Setting up continuous deployment in Azure App Service connects ACR with your code repository, so when you push new code, the system automatically builds a new container image and deploys it without manual intervention. This CI/CD integration works with sources like Docker Hub or GitHub Actions, creating a smooth pipeline from commit to running container.
A system architecture diagram showing how a code commit triggers a CI/CD pipeline that builds and pushes a container image to Azure Container Registry, which then deploys to Azure App Service.
Eager to master hybrid server management? Discover how to administer Windows Server Hybrid Core Infrastructure on Azure, setting your path towards the Microsoft Certified: Azure Hybrid Infrastructure Administrator Associate certification!
Prepare and test your skills

Prepare and test your skills

A base image is the foundation for building Windows Server containers, providing the operating system, runtime, and basic tools that an application needs to run.
The most important security rule is to avoid outdated minor versions in your base images, as these stop receiving updates and become security risks.
Azure Container Registry (ACR) is Microsoft's service for storing and managing the complete lifecycle of container images in Azure, from development through deployment.
You can improve availability by using ACR's image replication policies, which automatically copy your images to multiple Azure regions to reduce latency for users in different geographical areas.