What is the main benefit of using Docker for consistent environments across teams?
Docker packages applications and their dependencies into containers, ensuring the same environment runs on any machine, reducing "it works on my machine" problems.
Click to reveal answer
beginner
What file defines the environment and dependencies for a Docker container?
The Dockerfile defines the environment by specifying the base image, dependencies, and commands to build the container image.
Click to reveal answer
intermediate
How does Docker Compose help teams maintain consistent environments?
Docker Compose lets teams define and run multi-container applications with a single YAML file, ensuring everyone uses the same services and settings.
Click to reveal answer
intermediate
Why is it important to version control Dockerfiles and Compose files?
Version controlling these files tracks changes, allows rollback, and ensures all team members use the exact same environment setup.
Click to reveal answer
beginner
What command builds a Docker image from a Dockerfile?
The command is docker build -t image_name . which creates an image named image_name from the Dockerfile in the current directory.
Click to reveal answer
Which Docker feature ensures the same environment runs on different machines?
AImages only
BVolumes
CNetworks
DContainers
✗ Incorrect
Containers package the app and its environment, making it consistent everywhere.
What file format does Docker Compose use to define services?
AJSON
BXML
CYAML
DINI
✗ Incorrect
Docker Compose uses YAML files to define multi-container setups.
Which command runs a Docker Compose setup?
Adocker-compose up
Bdocker run compose
Cdocker build compose
Ddocker start compose
✗ Incorrect
The command docker-compose up starts all services defined in the Compose file.
Why should Dockerfiles be shared in version control?
ATo keep images private
BTo track environment changes
CTo speed up builds
DTo avoid using Docker Compose
✗ Incorrect
Version control tracks changes and ensures team consistency.
What is the purpose of a Docker image?
ATo define a container's environment and app
BTo manage Docker networks
CTo run containers directly
DTo store container logs
✗ Incorrect
An image contains the app and environment setup used to create containers.
Explain how Docker helps teams maintain consistent environments across different machines.
Think about how packaging everything together helps avoid "works on my machine" issues.
You got /3 concepts.
Describe the role of Docker Compose in managing multi-container applications for teams.
Consider how multiple containers work together and how Compose simplifies that.
You got /3 concepts.
Practice
(1/5)
1. Why is Docker useful for maintaining consistent environments across teams?
easy
A. It packages the app and its environment together in a container.
B. It automatically writes code for the team.
C. It replaces the need for version control systems.
D. It runs apps only on Windows machines.
Solution
Step 1: Understand Docker container purpose
Docker containers bundle the app with all its dependencies and environment settings.
Step 2: Compare options to Docker's role
Only the option stating "It packages the app and its environment together in a container." describes packaging app and environment together, ensuring consistency.
Final Answer:
It packages the app and its environment together in a container. -> Option A
Quick Check:
Docker = consistent app environment [OK]
Hint: Docker bundles app + environment for all team members [OK]
Common Mistakes:
Thinking Docker writes code automatically
Confusing Docker with version control
Believing Docker only works on Windows
2. Which of the following is the correct way to start a Docker container named webapp from an image called myapp:latest?
easy
A. docker build webapp myapp:latest
B. docker start myapp:latest webapp
C. docker create webapp myapp:latest
D. docker run --name webapp myapp:latest
Solution
Step 1: Recall Docker run syntax
The command to start a container with a name is: docker run --name [container_name] [image]
Step 2: Match the correct command
docker run --name webapp myapp:latest matches this syntax exactly, starting container 'webapp' from image 'myapp:latest'.
Final Answer:
docker run --name webapp myapp:latest -> Option D
Quick Check:
docker run --name = start container with name [OK]
Hint: Use 'docker run --name' to start named container [OK]
Common Mistakes:
Using 'docker start' to create container
Confusing 'docker create' with 'docker run'
Using 'docker build' to start containers
3. Given this Dockerfile snippet:
FROM python:3.12-slim
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
What happens when you build and run this Docker image on different team members' machines?
medium
A. The app runs only if all team members have Python installed locally.
B. The app will fail because Python versions differ on each machine.
C. Each team member runs the app in the exact same environment regardless of their OS.
D. The app runs slower on Windows than Linux due to Docker limitations.
Solution
Step 1: Analyze Dockerfile purpose
The Dockerfile sets up a Python 3.12 environment inside a container, independent of host OS.
Step 2: Understand container consistency
Because the container includes Python and dependencies, all team members get the same environment.
Final Answer:
Each team member runs the app in the exact same environment regardless of their OS. -> Option C
Quick Check:
Docker container = consistent environment [OK]
Hint: Dockerfile builds same environment on all machines [OK]
Common Mistakes:
Assuming local Python is needed
Believing OS affects container environment
Thinking Docker slows app on Windows
4. A team member runs docker run myapp but gets an error: Cannot find image 'myapp' locally. What is the likely cause and fix?
medium
A. Docker is not installed; install Docker to fix this.
B. The image 'myapp' is not built locally; run docker build -t myapp . first.
C. The container name is missing; add --name myapp to the command.
D. The Dockerfile is missing; create a Dockerfile to fix this.
Solution
Step 1: Understand error meaning
The error means Docker cannot find the image 'myapp' locally or on Docker Hub.
Step 2: Identify fix
Building the image locally with docker build -t myapp . creates the image for use.
Final Answer:
The image 'myapp' is not built locally; run docker build -t myapp . first. -> Option B
Quick Check:
Image missing? Build it first [OK]
Hint: Build image before running container [OK]
Common Mistakes:
Thinking Docker is not installed
Confusing container name with image name
Assuming Dockerfile absence causes this error
5. Your team wants to ensure everyone uses the same database version inside Docker containers. Which approach best guarantees this consistency?
hard
A. Create a Docker Compose file specifying the exact database image version and share it with the team.
B. Ask each team member to install the database manually on their machine.
C. Use environment variables to let each member choose their preferred database version.
D. Run the database directly on the host OS instead of in Docker.
Solution
Step 1: Understand Docker Compose role
Docker Compose lets you define multi-container setups with exact image versions in one file.
Step 2: Evaluate options for consistency
Sharing a Compose file with fixed database image version ensures all run the same version easily.
Step 3: Reject other options
Manual installs or letting members choose versions cause inconsistency; running on host loses container benefits.
Final Answer:
Create a Docker Compose file specifying the exact database image version and share it with the team. -> Option A