Skip to content

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.

20–30 minEstimated6 questionsTailored live12 model answersTo study
  • Voice interview
  • Live feedback
  • Browser-only
  • No installation required

Your report · sample

AI Readiness Score

/100
Content score English 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.

  1. Step 01

    Preparation

    Skim the topics and warm up — you're briefed before takeoff.

  2. Step 02

    AI Interview

    A realistic AI interviewer asks tailored questions — answer by voice or text.

  3. Step 03

    Instant Score

    Finish and get a 0–100 readiness score across content and English.

  4. Step 04

    AI Feedback

    Concrete tips and a rewritten model answer for every response.

  5. 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.

aevrofy.com/session · live demoPlaying

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?

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?

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?

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?

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?

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?

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?

-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?

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?

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 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:16
11How do you pass environment variables and config to a container?

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?

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

Aevrofy · Docker beginner interview prep