🌍 DevOps · subject
DevOps Docker Syllabus
Every chapter and topic of Docker examined in DevOps — 4 chapters, 14 topics and 60 sub-topics, plus 60 flashcards written against it.
Docker syllabus — full chapter and topic list
Expand any chapter to see its topics and sub-topics. This is the whole examinable outline for Docker in DevOps, not a summary of it.
-
Introduction to Docker
3 topics- What is Docker?
- History of Docker
- Docker vs Virtual Machines
- Benefits of Docker
- Docker Architecture
- Docker Daemon
- Docker Client
- Docker Registries
- Docker Images
- Docker Containers
- Installing Docker
- Installation on Windows
- Installation on macOS
- Installation on Linux
- Post-installation Steps
- What is Docker?
-
Docker Basics
3 topics- Docker CLI
- Basic Commands
- Managing Images
- Managing Containers
- Docker Help
- Docker Images
- Understanding Docker Images
- Creating Docker Images
- Dockerfile Basics
- Best Practices for Writing Dockerfiles
- Docker Containers
- Understanding Containers
- Running Containers
- Stopping and Restarting Containers
- Removing Containers
- Docker CLI
-
Advanced Docker Concepts
4 topics- Docker Networking
- Container Networking Basics
- Bridge Networks
- Overlay Networks
- Host Networks
- Custom Networks
- Docker Volumes
- Introduction to Volumes
- Creating and Managing Volumes
- Volume Drivers
- Bind Mounts vs Volumes
- Docker Compose
- Introduction to Docker Compose
- Defining Services in Compose
- Networking in Compose
- Volumes in Compose
- Scaling Services
- Docker Swarm
- Introduction to Docker Swarm
- Setting up a Swarm Cluster
- Deploying Services in Swarm
- Swarm Networking
- Scaling and Updating Services
- Docker Networking
-
Docker in Production
4 topics- Security
- Docker Security Best Practices
- Securing Docker Daemon
- Securing Docker Images
- Securing Docker Containers
- Monitoring and Logging
- Monitoring Docker Containers
- Logging in Docker
- Using Third-party Monitoring Tools
- Using Third-party Logging Tools
- CI/CD with Docker
- Integrating Docker with CI/CD Pipelines
- Using Docker in Jenkins
- Using Docker in GitLab CI
- Using Docker in GitHub Actions
- Orchestration with Kubernetes
- Introduction to Kubernetes
- Kubernetes vs Docker Swarm
- Running Docker Containers in Kubernetes
- Kubernetes Networking
- Kubernetes Storage
- Security
Docker flashcards for DevOps
23 of 60 cards from the Docker deck — real questions with worked answers.
What is Docker?
Docker is an open-source platform for developing, shipping, and running applications inside lightweight, portable containers that package an application together with all its dependencies, libraries, and configuration.
What core problem does Docker solve?
It solves the 'it works on my machine' problem by ensuring an application runs identically across environments (dev, test, prod), because the container bundles everything the app needs to run.
How does a container differ from a virtual machine (VM)?
A container virtualizes the OS and shares the host kernel, packaging only the app and its dependencies (megabytes, starts in seconds). A VM virtualizes hardware and includes a full guest OS via a hypervisor (gigabytes, starts in minutes).
Which Linux kernel features underpin Docker container isolation?
Namespaces (provide isolation of processes, network, mounts, users, etc.) and cgroups (control groups, which limit and account for resource usage like CPU and memory). Union filesystems provide layered images.
Name the main components of the Docker architecture.
The Docker daemon (dockerd), the Docker client (CLI), the REST API connecting them, container images, containers, and a registry (e.g., Docker Hub) for storing/distributing images.
What is the role of the Docker daemon (dockerd)?
It is the persistent background server process that builds, runs, and manages Docker objects (images, containers, networks, volumes) and listens for Docker API requests from clients.
How does the Docker client communicate with the daemon?
The client (docker CLI) sends commands to the daemon through the Docker REST API, over a UNIX socket or a network interface. The client and daemon can run on the same or different hosts.
What is containerd in the Docker architecture?
containerd is the high-level container runtime that the Docker daemon uses to manage the container lifecycle (image transfer, container execution, supervision). It in turn uses runc as the low-level OCI runtime to actually create containers.
What is a Docker registry?
A registry is a storage and distribution system for Docker images. Docker Hub is the default public registry; organizations can run private registries. Commands push images to and pull images from registries.
What command verifies a Docker installation is working?
docker run hello-world — it pulls a test image and runs it, printing a confirmation message. docker --version or docker info also report installation details.
What is Docker Desktop?
Docker Desktop is an application for Mac, Windows, and Linux that provides the Docker Engine, CLI, Docker Compose, a GUI, and a Linux VM, making it the standard way to install and run Docker on non-Linux developer machines.
On Linux, why might you add your user to the 'docker' group after installing?
Membership in the docker group lets you run docker commands without sudo. Otherwise the docker CLI requires root because the daemon's socket is owned by root.
What is the general syntax of a Docker CLI command?
docker [OPTIONS] COMMAND [ARG...], for example docker run -d -p 80:80 nginx. Newer Docker uses management commands like docker container ls and docker image ls.
What does 'docker ps' show, and how do you see stopped containers?
docker ps lists currently running containers. Adding the -a (or --all) flag shows all containers including stopped ones.
What is the difference between 'docker run' and 'docker start'?
docker run creates a new container from an image and starts it. docker start starts an existing, previously created (stopped) container without creating a new one.
What is a Docker image?
A Docker image is a read-only template containing the application code, runtime, libraries, and dependencies. Containers are created from images; an image is built from a Dockerfile and composed of stacked layers.
What are image layers and why do they matter?
An image is made of stacked read-only layers, each produced by an instruction. Layers are cached and shared between images, which speeds up builds and reduces storage and transfer size.
What is a Dockerfile?
A Dockerfile is a text file containing a sequence of instructions (FROM, RUN, COPY, CMD, etc.) that Docker reads to automatically build an image.
What does the FROM instruction in a Dockerfile do?
FROM sets the base image for subsequent instructions; it must be (in most cases) the first instruction. Example: FROM ubuntu:22.04. Use FROM scratch for an empty base.
Compare the CMD and ENTRYPOINT instructions in a Dockerfile.
ENTRYPOINT defines the executable that always runs and is hard to override; CMD provides default arguments or a default command that is easily overridden by arguments to docker run. They are often combined: ENTRYPOINT sets the program, CMD sets default args.
Difference between the COPY and ADD instructions?
COPY simply copies local files/directories into the image. ADD does the same but additionally can extract local tar archives and fetch remote URLs. Best practice favors COPY unless ADD's extra features are needed.
What command builds an image from a Dockerfile and tags it?
docker build -t name:tag . — the -t flag tags the image, and the final '.' is the build context (the directory sent to the daemon).
What is a multi-stage build and why use it?
A multi-stage build uses multiple FROM stages in one Dockerfile, copying only needed artifacts from a build stage into a smaller final image. It produces lean production images by excluding build tools and dependencies.
Planning Docker for DevOps
Docker is about 6% of the DevOps syllabus by topic count — 14 of 226 topics, spread over 4 chapters. At roughly 45 minutes per topic plus 12 minutes per sub-topic, a first pass runs to about 25 hours.
The heaviest chapters are Advanced Docker Concepts (4 topics), Docker in Production (4 topics), Introduction to Docker (3 topics) . Front-load those while your energy is high; the short chapters are better revision filler later.
Work top-down: read the chapter, then tick topics off individually rather than marking the whole chapter done. Sub-topics are where silent gaps hide.
Docker (DevOps) FAQ
What is in the DevOps Docker syllabus?
Docker is split into 4 chapters — Introduction to Docker, Docker Basics, Advanced Docker Concepts and Docker in Production, containing 14 topics and 60 sub-topics in total.
How is Docker structured in the DevOps syllabus?
4 chapters. Docker accounts for about 6% of the topics in the whole DevOps syllabus (14 of 226).
How long should I spend on Docker for DevOps?
Budget around 25 hours for a first pass through Docker — about 45 minutes per topic plus 12 minutes per sub-topic across its 14 topics. Add revision cycles on top.
Are there flashcards for DevOps Docker?
Yes — a 60-card Docker deck. Sample cards are printed on this page, and the full deck is free in the Examius app with spaced repetition scheduling.