[AZURE] Azure AKS: How to Pull & Push Docker Images “Commvault” into Your Private Azure Container Registry
This procedure is part of the prerequisites for performing a backup of a Kubernetes cluster using the Commvault.
The adoption of Azure Kubernetes Service (AKS) has become a standard approach for organizations seeking scalable, resilient, and cloud-native container orchestration on Microsoft Azure. Within this architecture, container image management plays a critical role—especially when dealing with enterprise-grade solutions such as Commvault, where security, governance, and operational control are mandatory requirements.
This guide is designed to walk you through the process of uploading a Commvault Docker image into a private Azure Container Registry (ACR) and making it available for deployment on an AKS cluster. Hosting images in a local ACR improves control over image lifecycle management, reduces external dependencies, and ensures tighter integration with Azure-native security and access controls.
Throughout this article, we will cover prerequisites, best practices, and the operational steps required to implement a reliable and secure image workflow. The content is targeted at system engineers, cloud engineers, and DevOps professionals who are integrating Commvault workloads into AKS environments and need a repeatable, enterprise-ready approach.
By the end of this guide, you will have a clear understanding of how to prepare your Azure Container Registry, import the Commvault Docker image, and securely consume it from your AKS cluster in a production-ready setup.
Upload the Docker image to your enterprise ACR (your ACR name)
Prerequisite for backup AKS cluster Azure with Commvault
System Requirements for Kubernetes
Install and start Docker Desktop
If you are working on Windows or macOS:
- Install Docker Desktop → https://docs.docker.com/desktop/
- Istallend on Windows WLS -> How to install WSL on Windows – TechDirectArchive
This installation is for Windows

List and set the subscription where the AKS cluster resides
Use the Azure CLI to first list all available subscriptions and then set the correct one as the active context.
“Direct login to the ACR fails because we are not logged in with the correct user and the associated subscription.”
az account set --subscription "<SUBSCRIPTION_ID or SUBSCRIPTION_NAME>"
az account list --output table
az account show

Login in Azure



Select the subscription using its numeric ID


Prerequisites: Obtain the Login Server
az acr show --name YOUR-ACR-NAME --query loginServer --output tsv

Preparation and Image Tag Upload (Push)
CLI exemple
sudo docker tag commvault/accessnode:11.sp25.latest enterpriseapplicationintegrationglt.azurecr.io/commvault/accessnode:11.sp25.latest
This is your local image

it is your ACR login server

it is the path and tag that the image will have in your container

You can now logging in to Azure Container Registry (ACR)
After completing the authentication process, retry the login to your Azure Container Registry by running:
az acr login --name YOUR-ACR-NAME

Check the Docker user – You can verify if Docker is logged in with
sudo docker info | grep -i username
Alternative to show login credentials: az acr credential
az acr credential show --name YOUR-ACR-NAME

Or From GUI Azure Portal

We can use manual Docker login with the service principal’s username and password:
sudo docker login YOUR-ACR-NAME.azurecr.io -u <username> -p <password>

List image commvault needed
This is the list of images to be uploaded and installed on the ACR.”
accessnode
mediaagent
commserve
commandcenter
networkgateway
webserver
Execute the Image Pull
Here it is possible to check all versions of the Commvault backup system images that can be installed on the Azure AKS cluster Commvault | Docker Hub
sudo docker pull commvault/accessnode:11.sp25.latest

sudo docker tag commvault/accessnode:11.42.25 YOUR-ACR-NAME.azurecr.io /commvault/accessnode: 11.42.25
sudo docker pull commvault/mediaagent:11.42.25
sudo docker tag commvault/mediaagent:11.42. 25 YOUR-ACR-NAME.azurecr.io/commvault/mediaagent:11.42.25
sudo docker pull commvault/commserve:11.42.25
sudo docker tag commvault/commserve:11.42.25 YOUR-ACR-NAME.azurecr.io.azurecr.io/commvault/commserve:11.42.25
sudo docker pull commvault/commandcenter:11.42.25
sudo docker tag commvault/commandcenter:11.42.25 YOUR-ACR-NAME.azurecr.io/commvault/commandcenter:11.42.25
sudo docker pull commvault/networkgateway:11.42.25
sudo docker tag commvault/networkgateway:11.42.25 YOUR-ACR-NAME.azurecr.io/commvault/networkgateway:11.42.25
sudo docker pull commvault/webserver:11.42.25
sudo docker tag commvault/webserver:11.42.25 enterpriseapplicationintegrationglt.azurecr.io/commvault/webserver:11.42.25
Execute the Image Push
sudo docker push YOUR-ACR-NAME.azurecr.io/commvault/accessnode:11.sp25.latest

sudo docker push YOUR-ACR-NAME.azurecr.io/commvault/accessnode: 11.42.25
sudo docker push YOUR-ACR-NAME.azurecr.io/commvault/mediaagent:11.42.25
sudo docker push YOUR-ACR-NAME.azurecr.io/commvault/commserve:11.42.25
sudo docker push YOUR-ACR-NAME.azurecr.io/commvault/commandcenter:11.42.25
sudo docker push YOUR-ACR-NAME.azurecr.io/commvault/networkgateway:11.42.25
sudo docker push YOUR-ACR-NAME.azurecr.io/commvault/webserver:11.42.25
Verify the image in ACR
After the push, you can view the list of repositories
az acr repository list --name YOUR-ACR-NAME --output table

View the available tags in the repositor
If everything went well, you will see 11.sp25.latest among the tags of the commvault/accessnode
az acr repository show-tags --name YOUR-ACR-NAME --repository commvault/accessnode --output table
