AWS/Azure/OpenShift

Create Azure Container instance to deploy your image to Azure using Azure CLI

Deploy-to-ACI
Deploy Docker Image to ACI

Azure Container Instance is one of the popular container solutions in the industry. When it comes to containers, Docker remains the most widely adopted open-source container in the container industry. In addition to Artifactory Docker Registry, LXC (Linux), Hyper-V, and Windows Containers, other container solutions are also available. In this article, we shall discuss how to create Azure Container instance to deploy your image to Azure using Azure CLI. Please see how to build your first CI/CD Pipeline in Azure DevOps using ASP.Net Core Application and how to use container insights to get the full benefits of Azure Monitor for Azure Kubernetes workload

Each of these container solutions has its own set of approaches and use cases. This article discusses how to set up an Azure Container Instance and deploy a Docker image.

ACI, or Azure Container Instance, allows you to run your Docker image on Azure. To deploy a Docker image to Azure, first publish it to a container registry, then connect the container instance to the registry and deploy the image.

Docker images are published to a publicly accessible repository known as Docker Hub, a free Docker registry that allows you to create one private repository and multiple public repositories. To begin, sign up for a Docker Hub account.

Docker-Hub
Docker Hub

You can review some related articles on Azure: How to Upload Batch Files to Azure Storage Account Using Azure CLI, and Serverless in Azure: How to deploy a function app from Visual Studio to Azure Platform.

Create Azure Container Instance

Here we are going to see how to create Azure Container Instance using Azure CLI and pull an image from Docker Hub. Do the following:

  1. Azure CLI is installed on your PC.
  2. Active Azure Subscription, if you don’t have one already sign up on Azure.

Create a Resource Group

Next, create a resource group. A resource group is a logical folder that holds all your resources together. We are going to create one by running the below CLI command:

az group create --name <YourResourceGroupName> --location <ChoosePreferredLocation>
Create-Resource-Group
Creating a Resource Group

Create an Azure Container Instance (ACI)

We have created the resource group, it’s time to create the Container using the az container create command by providing the name of the resource group we have just created. Here we will use the public image  provided by Microsoft named mcr.microsoft.com/azuredocs/aci-helloworld. This image packages a small web app written in Node.js that serves a static HTML page.

To create the container run:

az container create --resource-group My-Test-RG  --name my-con-aci --image mcr.microsoft.com/azuredocs/aci-helloworld --dns-name-label aci-con --ports 80
Deployed-the-container
Deploying the container

We have successfully deployed the image to Azure Container Instance. Let’s check the status by running the below command:

az container show --resource-group <YourResourceGroupName> --name <YourContainerName --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" --out table
Container-Status-Succeeded
Checking the container deployment status

As you can see from the screenshot, the fully qualified domain name for the container is aci-con.eastus.azurecontainer.io. The FQDN is derived from the DNS name that we specified. During the container deployment, you might receive a prompt indicating the availability of the DNS name.

Now, let’s browse to the URL using a web browser.

FQDN-of-the-Container
Azure Container Instance deployed successfully

Pull the container logs

When troubleshooting a container or the application it runs, or simply viewing its output, start by examining the container instance’s logs. Using the az container logs command, you can retrieve the container instance logs.

az container logs --resource-group <YourResourceName> --name <YourContainerName>
Pull-the-container-logs
Pulling Container logs

Next, let’s attach output streams. You can connect your local standard out and standard error streams to the container’s standard out and standard error streams. This allows you to view its current output or interact with it as if the commands were running directly in your terminal.

To connect your local console to the container’s output streams, use the az container attach command as shown below:

az container attach --resource-group <YourResourceGroupName> --name <YourContainerName>
Note: This will continue to run without stopping. To stop it, press Ctrl + C key combination on your PC.  
Attach-output-Stream
Attaching output streams

I hope you found this article useful on create Azure Container instance to deploy your image to Azure using Azure CLI. Please feel free to leave a comment below.

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x