Bird
Raised Fist0
Dockerdevops~15 mins

Image tags and versioning in Docker - Mini Project: Build & Apply

Choose your learning style10 modes available
Image tags and versioning
📖 Scenario: You work in a team that builds Docker images for a web application. To keep track of different versions, you use image tags. This helps you and your team know exactly which version of the app is running in different environments.
🎯 Goal: You will create a Docker image with a specific tag, then add a version tag, and finally list the images to see the tags clearly.
📋 What You'll Learn
Create a Dockerfile with a simple base image
Build a Docker image with the tag myapp:latest
Add a version tag myapp:v1.0 to the same image
List Docker images to verify both tags exist
💡 Why This Matters
🌍 Real World
Tagging Docker images helps teams deploy specific versions of applications reliably in development, testing, and production.
💼 Career
Understanding image tags and versioning is essential for DevOps roles managing containerized applications and continuous deployment pipelines.
Progress0 / 4 steps
1
Create a Dockerfile with a base image
Create a file named Dockerfile with the exact content: FROM alpine:latest
Docker
Hint

This Dockerfile uses the Alpine Linux base image, which is very small and simple.

2
Build the Docker image with tag myapp:latest
Run the Docker build command to create an image tagged myapp:latest using the current directory as context.
Docker
Hint

Use docker build -t myapp:latest . to build the image.

3
Add a version tag myapp:v1.0 to the image
Use the Docker tag command to add the tag myapp:v1.0 to the existing image myapp:latest.
Docker
Hint

Use docker tag myapp:latest myapp:v1.0 to add the version tag.

4
List Docker images to verify tags
Run the Docker images command and filter the output to show only images named myapp.
Docker
Hint

Use docker images myapp to see all tags for the myapp image.

Practice

(1/5)
1. What is the default tag used by Docker if no tag is specified when pulling an image?
easy
A. stable
B. 1.0
C. latest
D. default

Solution

  1. Step 1: Understand Docker image tagging

    Docker images can have tags to specify versions or variants.
  2. Step 2: Identify the default tag behavior

    If no tag is specified, Docker uses the tag named "latest" by default.
  3. Final Answer:

    latest -> Option C
  4. Quick Check:

    Default tag = latest [OK]
Hint: No tag means Docker uses 'latest' automatically [OK]
Common Mistakes:
  • Assuming 'stable' is default tag
  • Thinking '1.0' is default version
  • Believing 'default' is a valid tag
2. Which of the following is the correct syntax to pull a Docker image with a specific tag?
easy
A. docker pull ubuntu:20.04
B. docker pull ubuntu-20.04
C. docker pull ubuntu/20.04
D. docker pull ubuntu#20.04

Solution

  1. Step 1: Recall Docker image tag syntax

    The correct syntax to specify a tag is image_name:tag.
  2. Step 2: Match syntax with options

    Only docker pull ubuntu:20.04 uses a colon to separate image name and tag correctly.
  3. Final Answer:

    docker pull ubuntu:20.04 -> Option A
  4. Quick Check:

    Use colon ':' to specify tag [OK]
Hint: Use ':' between image name and tag [OK]
Common Mistakes:
  • Using dash '-' instead of colon ':'
  • Using slash '/' instead of colon
  • Using hash '#' instead of colon
3. Given the command docker pull nginx:1.21, what will be the result?
medium
A. Docker throws an error due to invalid tag
B. Docker pulls the latest nginx image ignoring 1.21
C. Docker pulls all nginx images
D. Docker pulls the nginx image tagged 1.21

Solution

  1. Step 1: Analyze the pull command with tag

    The command specifies the image name 'nginx' and tag '1.21'.
  2. Step 2: Understand Docker pull behavior

    Docker pulls the exact image version matching the tag '1.21'.
  3. Final Answer:

    Docker pulls the nginx image tagged 1.21 -> Option D
  4. Quick Check:

    Tag specifies exact image version [OK]
Hint: Tag pulls specific image version, not latest [OK]
Common Mistakes:
  • Assuming tag is ignored and latest is pulled
  • Expecting error for valid tag
  • Thinking all images are pulled
4. You run docker pull alpine and get an error that the image is not found. What is the most likely cause?
medium
A. You forgot to specify the tag, and 'latest' tag is missing
B. The image 'alpine' does not exist on Docker Hub
C. Docker requires a tag to pull any image
D. Your internet connection is down

Solution

  1. Step 1: Understand default tag behavior

    When no tag is specified, Docker tries to pull the 'latest' tag.
  2. Step 2: Identify cause of error

    If the 'latest' tag does not exist for 'alpine', Docker cannot find the image.
  3. Final Answer:

    You forgot to specify the tag, and 'latest' tag is missing -> Option A
  4. Quick Check:

    Missing 'latest' tag causes pull failure [OK]
Hint: Always specify tag if 'latest' is missing [OK]
Common Mistakes:
  • Assuming image does not exist at all
  • Thinking tag is always required
  • Blaming internet without checking tags
5. You want to deploy a Docker image but ensure you always use version 2.5.3, never the latest. Which command correctly pulls this specific version and avoids accidental updates?
hard
A. docker pull myapp:stable
B. docker pull myapp:2.5.3
C. docker pull myapp:latest
D. docker pull myapp

Solution

  1. Step 1: Understand version control with tags

    Using a specific tag like '2.5.3' ensures you get that exact version.
  2. Step 2: Compare options for safety

    docker pull myapp:2.5.3 pulls the exact version. Options B and C pull 'latest' which can change. docker pull myapp:stable depends on tag existence.
  3. Final Answer:

    docker pull myapp:2.5.3 -> Option B
  4. Quick Check:

    Explicit version tag prevents accidental updates [OK]
Hint: Always specify exact version tag to avoid surprises [OK]
Common Mistakes:
  • Using 'latest' tag and getting unexpected updates
  • Assuming 'stable' tag always exists
  • Not specifying any tag and risking version changes
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard