📖 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
Step 1: Understand Docker image tagging
Docker images can have tags to specify versions or variants.
Step 2: Identify the default tag behavior
If no tag is specified, Docker uses the tag named "latest" by default.
Final Answer:
latest -> Option C
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
Step 1: Recall Docker image tag syntax
The correct syntax to specify a tag is image_name:tag.
Step 2: Match syntax with options
Only docker pull ubuntu:20.04 uses a colon to separate image name and tag correctly.
Final Answer:
docker pull ubuntu:20.04 -> Option A
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
Step 1: Analyze the pull command with tag
The command specifies the image name 'nginx' and tag '1.21'.
Step 2: Understand Docker pull behavior
Docker pulls the exact image version matching the tag '1.21'.
Final Answer:
Docker pulls the nginx image tagged 1.21 -> Option D
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
Step 1: Understand default tag behavior
When no tag is specified, Docker tries to pull the 'latest' tag.
Step 2: Identify cause of error
If the 'latest' tag does not exist for 'alpine', Docker cannot find the image.
Final Answer:
You forgot to specify the tag, and 'latest' tag is missing -> Option A
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
Step 1: Understand version control with tags
Using a specific tag like '2.5.3' ensures you get that exact version.
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.
Final Answer:
docker pull myapp:2.5.3 -> Option B
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 unknownstrongwhile earning +1 Grip toward your certificate.