Courseiva
Design and implement build and release pipelineshardMultiple SelectObjective-mapped

Two Tasks That Keep a Docker Build Current and Cache-Accelerated

You have a YAML pipeline that builds a Docker image and pushes it to Azure Container Registry (ACR). You need to ensure the pipeline uses the latest version of Docker and that the build is cached for faster subsequent runs. Which two tasks should you include? (Choose two.)

Quick Answer

Two tasks cover both requirements: DockerInstaller@0 installs or upgrades the Docker engine on the agent so the pipeline always builds with the latest Docker version, and Docker@2 with the --cache-from argument pulls the previously built image from ACR as a cache source, reusing unchanged layers to speed up subsequent builds.

⚠ Common exam trap

A common mix-up: candidates confuse DockerCompose@0 (used for orchestrating multiple containers) with Docker@2 (used for building and pushing single images), or assume HelmDeploy@0 is relevant because it involves containers, but it is strictly for Kubernetes deployments.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

DockerInstaller@0

(DockerInstaller@0) is correct because it ensures the pipeline uses the latest version of Docker by installing or upgrading the Docker engine on the build agent. Option B (Docker@2 with --cache-from) is correct because it enables layer caching by pulling the previously built image from ACR as a cache source, which speeds up subsequent builds by reusing unchanged layers.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • DockerCompose@0

    Why it's wrong here

    Docker Compose is not needed for a single image build.

  • HelmDeploy@0

    Why it's wrong here

    Helm is for package management, not Docker build.

Option-by-option analysis

Why each answer is right or wrong

Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The AZ-400 exam frequently reuses these exact scenarios with slightly different constraints.

DockerInstaller@0Correct answer
DockerCompose@0Wrong answer — click to see why

Why this is wrong here

Docker Compose is not needed for a single image build.

HelmDeploy@0Wrong answer — click to see why

Why this is wrong here

Helm is for package management, not Docker build.

Analysis generated from the official AZ-400blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”

Go deeper

Related to this question

About these practice questions

Courseiva writes every AZ-400 question from scratch — 823 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

2 more ways this is tested on AZ-400

These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.

Variation 1. Your team uses Azure Pipelines for CI/CD. The pipeline builds a Docker image and pushes it to Azure Container Registry (ACR). You need to ensure that only the main branch triggers a build of the Docker image. What should you configure in the pipeline YAML?

easy
  • A.Set 'pr: branches: include: - main'
  • B.Add a condition: 'eq(variables['Build.SourceBranch'], 'refs/heads/main')' to the job.
  • C.Set 'trigger: branches: include: - *'
  • D.Set 'trigger: branches: include: - main'

Why D: Setting `trigger: branches: include: - main` in the pipeline YAML configures a CI trigger that only starts a new pipeline run when changes are pushed to the `main` branch. This ensures that the Docker image build and push to ACR occurs exclusively for the main branch, meeting the requirement.

Variation 2. You have a pipeline that builds a Docker image and pushes it to Azure Container Registry. You need to ensure that only the latest successful build image is tagged as 'latest'. Which tagging strategy should you use?

easy
  • A.Use a conditional step that runs only when the build succeeds to tag the image as 'latest'
  • B.Use the build ID as the tag and manually update 'latest'
  • C.Use the Git commit hash as the tag and push 'latest' separately
  • D.Always tag the image as 'latest' regardless of build status

Why A: It ensures the 'latest' tag is applied only after a successful build, preventing broken or incomplete images from being tagged as 'latest'. In Azure Pipelines, you can use a condition like `condition: succeeded()` on a script or Docker task that runs `docker tag` and `docker push` to update the 'latest' tag only when the preceding build steps succeed. This maintains a reliable 'latest' pointer to the most recent stable image.

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This AZ-400 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the AZ-400 exam.