Boarding pass · Docker Beginner
Docker · Beginner interview
An AI mock interview for developers new to Docker (0–2 years). Practise the core concepts, writing a Dockerfile, running containers, and using Compose — out loud, with a readiness score.
- Voice interview
- Live feedback
- Browser-only
- No installation required
Your report · sample
AI Readiness Score
Finish the mock and get this report — scored on content and English, with concrete tips and a model answer for every question, plus a study plan.
Your flight path
Five steps to interview-ready.
From a quick warm-up to a personalised study plan — here's the whole loop, and what you get at each gate.
Step 01
Preparation
Skim the topics and warm up — you're briefed before takeoff.
Step 02
AI Interview
A realistic AI interviewer asks tailored questions — answer by voice or text.
Step 03
Instant Score
Finish and get a 0–100 readiness score across content and English.
Step 04
AI Feedback
Concrete tips and a rewritten model answer for every response.
Step 05
Study Plan
A personalised plan targets your weakest areas — so the next run scores higher.
Preview the AI demo
See one answer scored, end to end.
The whole loop on sample data — question, your answer, instant feedback and a study plan. Hover to pause.
Interviewer · Question 1
“Tell me about yourself.”
Who it's for
- Developers new to containers
- Engineers learning to containerize apps
- Anyone targeting junior DevOps-adjacent roles
- Self-taught devs prepping for interviews
What you'll practice
- Containers vs VMs and images vs containers
- Writing a Dockerfile
- Running containers with ports and volumes
- Multi-container apps with Compose
Topics covered
What this level expects.
Concepts
- Containers vs VMs
- Image vs container
- Registries
Images
- Dockerfile
- Layers & cache
- ENTRYPOINT vs CMD
Running
- docker run
- Volumes & mounts
- Port mapping
Compose
- docker compose
- Env vars
- Logs & exec
Practice questions
12 questions, with model answers.
Read them, then run the live mock to answer out loud and get scored. Tap any question to reveal a model answer.
01What is Docker, and how do containers differ from virtual machines?Concepts
Docker packages an app and its dependencies into a container that runs consistently anywhere. Containers share the host OS kernel and isolate at the process level, so they're lightweight, start in milliseconds, and use less resource. VMs virtualize hardware and run a full guest OS each, making them heavier and slower to start. Containers trade the stronger isolation of VMs for efficiency and density.
02What's the difference between an image and a container?Concepts
An image is a read-only template — the packaged filesystem and metadata for how to run an app. A container is a running (or stopped) instance of an image, with a thin writable layer on top. One image can spawn many containers, like a class and its objects. You build images and run containers.
03What is a container registry like Docker Hub?Concepts
A registry is a store for Docker images that you push to and pull from, so images can be shared and deployed across machines. Docker Hub is the default public registry; teams also use private registries (ECR, GCR, GitHub Container Registry). Images are referenced by name and tag, e.g. node:20-alpine.
04What is a Dockerfile and what are its common instructions?Images
A Dockerfile is a script of instructions to build an image. Common ones: FROM (base image), WORKDIR (set directory), COPY/ADD (bring files in), RUN (execute build commands like installing deps), ENV (environment variables), EXPOSE (document a port), and CMD/ENTRYPOINT (what runs when the container starts). Each instruction is a step in producing the final image.
FROM node:20-alpine WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . CMD ["node", "server.js"]
05How do image layers and the build cache work?Images
Each Dockerfile instruction creates a layer, and Docker caches them — on rebuild, it reuses cached layers until it hits one that changed, then rebuilds from there. That's why you copy package files and install dependencies before copying the rest of your source: dependencies only re-install when the manifest changes, not on every code edit. Ordering instructions from least- to most-frequently-changing maximizes cache hits.
06What's the difference between ENTRYPOINT and CMD?Images
ENTRYPOINT defines the executable that always runs; CMD provides default arguments (or a default command) that are easy to override at run time. If both are set, CMD's values become arguments to ENTRYPOINT. Use ENTRYPOINT for the fixed program and CMD for default flags, so docker run image arg overrides the arguments cleanly.
07What do the common docker run flags do?Running
-p maps a host port to a container port (host:container); -v mounts a volume or host path for persistence; -e sets an environment variable; -d runs detached in the background; --name gives the container a name; --rm removes it on exit. So docker run -d -p 8080:80 nginx runs nginx in the background reachable on host port 8080.
08How do you persist data from a container?Running
Container filesystems are ephemeral — data is lost when the container is removed. You persist with volumes (Docker-managed storage that survives container removal) or bind mounts (mapping a host directory in). Named volumes are preferred for databases and app data because Docker manages them and they're portable; bind mounts are handy for live-editing source in development.
09How does port mapping work?Running
By default a container's ports aren't reachable from the host. Publishing with -p host:container forwards traffic from the host port to the container's port, so -p 3000:3000 lets you hit localhost:3000. EXPOSE in a Dockerfile only documents the port; it's -p (or Compose's ports) that actually publishes it.
10What is Docker Compose and when do you use it?Compose
Compose defines and runs multi-container applications from a single YAML file — services, networks, and volumes — so docker compose up starts your whole stack (app, database, cache) together with one command. It's ideal for local development and simple deployments where you have several containers that need to talk to each other, replacing long manual docker run commands.
services:
web:
build: .
ports: ["3000:3000"]
db:
image: postgres:1611How do you pass environment variables and config to a container?Compose
You set them with -e on docker run, an env_file or environment block in Compose, or a .env file Compose reads automatically. Config files can be bind-mounted in. The key practice is keeping configuration and secrets out of the image so the same image runs in any environment with different settings injected at run time.
12How do you view logs and run a command inside a running container?Compose
docker logs <container> shows its stdout/stderr (add -f to follow), which is where containerized apps should write logs. docker exec -it <container> sh (or bash) opens an interactive shell inside the running container to inspect or debug it. These two commands cover most day-to-day troubleshooting.
Preparation tips
Walk in ready.
- Containerize a small app end to end
- Know why layer order affects build speed
- Practise mapping a port and mounting a volume
- Write a two-service docker-compose.yml
Ready for the real thing?
Run a 6-question Docker mock interview, answer out loud, and get a readiness score with tips and model answers.
More beginner interviews