With Git in hand for managing code, the next step is packaging that code so it runs the same way everywhere — on your laptop, a teammate's machine, or a production server. This module covers Docker: the difference between images and containers, writing your own Dockerfiles, and using Docker Compose to run multi-container applications with a single command.
It also covers container networking and volumes for persisting data, pushing and pulling images from container registries, and the basics of keeping images secure and lean with multi-stage builds and careful layer caching.
Watch the lessons in order, then continue on to Orchestration & Service Mesh.
The problem containers solve — "it works on my machine" — and how they differ from full virtual machines in terms of isolation and overhead.
The relationship between an image and a running container, and the core commands you'll use to pull, run, and manage them.
Building your own images layer by layer — base images, COPY, RUN, and CMD — and the conventions that keep a Dockerfile maintainable.
Defining and running multi-service applications with a single YAML file, instead of juggling several manual docker run commands.
How containers talk to each other and the outside world, and using volumes to persist data beyond a container's lifecycle.
Pushing and pulling images from Docker Hub and private registries, tagging conventions, and how images move through a CI pipeline.
Running containers as non-root, scanning images for vulnerabilities, and avoiding common misconfigurations that widen your attack surface.
Multi-stage builds, layer caching, and slimming down base images to get faster builds and smaller, more secure containers.
A written reference covering Docker commands, Dockerfile syntax, and Compose configuration from this module — good for a quick lookup after watching the videos.
Article