Bird
Raised Fist0
Azurecloud~30 mins

Azure Container Instances (ACI) for simple runs - Mini Project: Build & Apply

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Azure Container Instances (ACI) for simple runs
📖 Scenario: You want to run a simple containerized application in the cloud without managing servers. Azure Container Instances (ACI) lets you quickly deploy containers on demand.Imagine you have a small app that prints a message. You want to create an ACI instance to run this app easily.
🎯 Goal: Create an Azure Container Instance that runs a simple container image with a specified CPU and memory allocation.
📋 What You'll Learn
Create a resource group named myResourceGroup
Create a container group named myContainerGroup
Use the container image mcr.microsoft.com/azuredocs/aci-helloworld
Assign 1 CPU core and 1.5 GB memory to the container
Set the container to restart Never
💡 Why This Matters
🌍 Real World
Azure Container Instances let you run containers quickly without managing servers, ideal for simple apps, testing, or batch jobs.
💼 Career
Knowing how to deploy containers on Azure is a key skill for cloud engineers and developers working with cloud-native applications.
Progress0 / 4 steps
1
Create the resource group
Write the Azure CLI command to create a resource group named myResourceGroup in the eastus region.
Azure
Hint

Use az group create with --name and --location options.

2
Define the container group configuration
Create a variable called containerGroupName and set it to myContainerGroup. Also create a variable called imageName and set it to mcr.microsoft.com/azuredocs/aci-helloworld.
Azure
Hint

Use simple variable assignments like containerGroupName=myContainerGroup.

3
Create the container instance with CPU and memory settings
Write the Azure CLI command to create a container instance in resource group myResourceGroup with the name stored in containerGroupName, using the image stored in imageName. Assign 1 CPU core and 1.5 GB memory. Set the restart policy to Never.
Azure
Hint

Use az container create with options for resource group, name, image, CPU, memory, and restart policy.

4
Verify the container instance status
Write the Azure CLI command to show the details of the container instance named myContainerGroup in resource group myResourceGroup.
Azure
Hint

Use az container show with resource group and container name to check status.

Practice

(1/5)
1. What is the main benefit of using Azure Container Instances (ACI) for running containers?
easy
A. It only supports Windows containers.
B. You must manage virtual machines manually.
C. It requires setting up complex Kubernetes clusters.
D. You can run containers without managing servers or infrastructure.

Solution

  1. Step 1: Understand ACI purpose

    ACI is designed to let users run containers easily without managing servers or infrastructure.
  2. Step 2: Compare options

    Options B and C require manual management or complex setups, which ACI avoids. It only supports Windows containers. is incorrect because ACI supports Linux containers too.
  3. Final Answer:

    You can run containers without managing servers or infrastructure. -> Option D
  4. Quick Check:

    ACI = serverless container runs [OK]
Hint: ACI means no server management needed [OK]
Common Mistakes:
  • Thinking ACI requires managing VMs
  • Confusing ACI with Kubernetes
  • Assuming ACI supports only Windows containers
2. Which of the following is the correct Azure CLI command to create a container instance named mycontainer with image nginx in resource group mygroup?
easy
A. az container deploy --group mygroup --container mycontainer --image nginx
B. az container create --resource-group mygroup --name mycontainer --image nginx
C. az container start --resource-group mygroup --name mycontainer --image nginx
D. az container run --resource-group mygroup --name mycontainer --image nginx

Solution

  1. Step 1: Identify correct command for creating ACI

    The Azure CLI command to create a container instance is az container create.
  2. Step 2: Check parameters

    Correct parameters include --resource-group, --name, and --image. az container create --resource-group mygroup --name mycontainer --image nginx matches this syntax exactly.
  3. Final Answer:

    az container create --resource-group mygroup --name mycontainer --image nginx -> Option B
  4. Quick Check:

    Use az container create to create containers [OK]
Hint: Create containers with 'az container create' command [OK]
Common Mistakes:
  • Using 'az container deploy' which is invalid
  • Confusing 'start' with 'create'
  • Using 'az container run' which does not exist
3. Given this Azure CLI command:
az container create --resource-group mygroup --name testcontainer --image busybox --command-line "sleep 30" --cpu 1 --memory 1.5 --restart-policy Never

What will happen when you run this container?
medium
A. The container runs the sleep command for 30 seconds and then stops without restarting.
B. The container runs indefinitely and restarts automatically if it stops.
C. The container fails because the restart policy is invalid.
D. The container runs the sleep command but restarts immediately after finishing.

Solution

  1. Step 1: Analyze command parameters

    The command runs sleep 30, so the container will pause for 30 seconds. The restart policy is set to Never, so it will not restart after finishing.
  2. Step 2: Understand restart behavior

    Since restart policy is Never, the container stops after the command completes and does not restart.
  3. Final Answer:

    The container runs the sleep command for 30 seconds and then stops without restarting. -> Option A
  4. Quick Check:

    Restart policy 'Never' means no restart after exit [OK]
Hint: Restart policy 'Never' stops container after command ends [OK]
Common Mistakes:
  • Assuming container restarts automatically
  • Confusing restart policies like 'Always' vs 'Never'
  • Thinking the container runs indefinitely
4. You tried to create an Azure Container Instance with this command:
az container create --resource-group mygroup --name myapp --image nginx --cpu two --memory 1.5

But it failed. What is the most likely cause?
medium
A. The resource group 'mygroup' does not exist.
B. The memory value 1.5 is too low for nginx containers.
C. The CPU value 'two' is invalid; it must be a number like 1 or 2.
D. The image name 'nginx' is incorrect and must include a version tag.

Solution

  1. Step 1: Check CPU parameter format

    The CPU parameter expects a numeric value (like 1 or 2). Using the word 'two' is invalid syntax.
  2. Step 2: Validate other parameters

    Memory 1.5 is valid, 'nginx' image defaults to latest tag, and resource group existence is not guaranteed but error message usually specifies that.
  3. Final Answer:

    The CPU value 'two' is invalid; it must be a number like 1 or 2. -> Option C
  4. Quick Check:

    CPU must be numeric, not words [OK]
Hint: CPU must be a number, not text [OK]
Common Mistakes:
  • Using words instead of numbers for CPU
  • Assuming memory 1.5 is invalid
  • Thinking image must always have version tag
5. You want to run a batch job that processes data and then stops automatically. Which ACI configuration is best to ensure the container runs once and does not restart after completion?
hard
A. Set --restart-policy Never and specify the batch job command.
B. Set --restart-policy Always to keep the container running.
C. Use --restart-policy OnFailure to restart only on errors.
D. Do not specify a restart policy; the default will stop the container.

Solution

  1. Step 1: Understand restart policies for batch jobs

    For batch jobs that run once and stop, --restart-policy Never ensures the container does not restart after finishing.
  2. Step 2: Evaluate other options

    Always restarts indefinitely, OnFailure restarts only on errors, and no restart policy defaults to Always, which is not suitable.
  3. Final Answer:

    Set --restart-policy Never and specify the batch job command. -> Option A
  4. Quick Check:

    Batch jobs use restart policy 'Never' to stop after run [OK]
Hint: Use restart policy 'Never' for one-time batch jobs [OK]
Common Mistakes:
  • Using 'Always' causing infinite restarts
  • Assuming default restart policy stops container
  • Choosing 'OnFailure' which restarts on errors only