Bird
Raised Fist0
Azurecloud~10 mins

Azure Container Instances (ACI) for simple runs - Step-by-Step Execution

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
Process Flow - Azure Container Instances (ACI) for simple runs
Create Container Group
Specify Container Image
Set CPU and Memory
Configure Networking
Deploy Container Instance
Container Starts Running
Container Completes or Stops
View Logs or Output
Delete Container Instance
This flow shows how you create and run a simple container in Azure Container Instances, from setup to cleanup.
Execution Sample
Azure
az container create --resource-group myGroup --name mycontainer --image mcr.microsoft.com/azuredocs/aci-helloworld --cpu 1 --memory 1 --restart-policy Never
This command creates and runs a container instance with 1 CPU and 1 GB memory, using a simple hello world image.
Process Table
StepActionInput/ConfigResult/State
1Create container groupResource group: myGroup, Name: mycontainerContainer group created, ready to deploy
2Specify container imageImage: mcr.microsoft.com/azuredocs/aci-helloworldImage set for container
3Set CPU and memoryCPU: 1, Memory: 1 GBResources allocated
4Set restart policyRestart policy: NeverContainer will not restart after exit
5Deploy container instanceRun deployment commandContainer instance starts running
6Container runsContainer executes hello world appContainer status: Running
7Container completesApp finishes executionContainer status: Terminated
8View logsaz container logs --resource-group myGroup --name mycontainerOutput: Hello from Azure Container Instances!
9Delete containeraz container delete --resource-group myGroup --name mycontainerContainer instance deleted
💡 Container completes execution and is deleted to free resources
Status Tracker
VariableStartAfter Step 2After Step 3After Step 5After Step 7Final
Container GroupNoneCreatedCreatedRunningTerminatedDeleted
Container ImageNoneSet to hello world imageSetSetSetSet
CPUNoneNone1 CPU1 CPU1 CPUNone
MemoryNoneNone1 GB1 GB1 GBNone
Restart PolicyNoneNoneNeverNeverNeverNone
Container StatusNoneNoneNoneRunningTerminatedDeleted
Key Moments - 3 Insights
Why does the container stop running after the app finishes?
Because the restart policy is set to 'Never', the container stops once the app completes, as shown in step 7 of the execution table.
What happens if you don't delete the container instance after it finishes?
The container instance remains in the terminated state and continues to consume resources and cost until deleted, so step 9 is important.
How do you see what the container printed during its run?
You use the 'az container logs' command as in step 8 to view the container's output logs.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the container status immediately after deployment (step 5)?
ADeleted
BTerminated
CRunning
DCreated
💡 Hint
Check the 'Result/State' column at step 5 in the execution table.
At which step does the container stop running?
AStep 7
BStep 6
CStep 8
DStep 9
💡 Hint
Look for when the container status changes to 'Terminated' in the execution table.
If you change the restart policy to 'Always', what would change in the execution table?
AContainer would never start running
BContainer status would stay 'Running' after step 7
CContainer would be deleted automatically
DLogs would not be available
💡 Hint
Consider how restart policy affects container status after app completion.
Concept Snapshot
Azure Container Instances (ACI) let you run containers easily without managing servers.
Use 'az container create' with image, CPU, memory, and restart policy.
Container runs until app finishes or restart policy triggers.
View logs with 'az container logs'.
Delete container to free resources.
Full Transcript
This visual execution shows how to run a simple container in Azure Container Instances (ACI). First, you create a container group and specify the container image. Then you set CPU and memory resources and choose a restart policy. Deploying the container starts it running. The container runs the app and then stops if the restart policy is 'Never'. You can view the container's output logs and finally delete the container instance to free resources. Key points include understanding the restart policy effect and the importance of deleting containers after use.

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