Course: Mastering Docker from Scratch
Learn Docker from zero to professional level: containers, images, multi-stage builds, Docker Compose, networking, security, and production deployments. With a focus on best practices and security from day one.
1 Why containers exist: from physical servers to Docker
Understand the problem containers solve before touching a single command. The evolution of software deployment: from physical servers to virtual machines to containers.
2 Installing Docker and running your first container
Install Docker on Linux, macOS, or Windows and run your first container. Docker's architecture, the image vs container distinction, and the essential commands to get started.
3 Docker images and containers: understanding the relationship
What exactly is a Docker image, how are layers stacked, and what happens to a container when it stops? The image-container relationship is the mental model everything else depends on.
4 Interactive containers and exec: get inside, run commands, get out
Learn to open shells inside containers, run commands in live containers with docker exec, copy files with docker cp, and know when to use interactive vs. detached mode.
5 Docker port mapping: connect your containers to the outside world
Learn how Docker network isolation works, how to publish ports with -p, inspect network configuration, and run multiple containers on the same host without conflicts.
6 Introduction to Dockerfiles: build your own images
Learn what a Dockerfile is, how the layered build process works, the basic instructions FROM, RUN, COPY, CMD and EXPOSE, and build your first custom image.
7 Dockerfile Best Practices: Layer Caching and Efficiency
Learn how Docker's layer caching system works, how to order Dockerfile instructions for fast builds, and which base image to choose for lean, efficient images.
8 Dockerfile Best Practices: Security
Build secure Docker images: avoid running as root, scan for vulnerabilities with Trivy, pin versions the right way, and manage secrets without baking them into your image.
9 Multi-stage builds in Docker: smaller, cleaner images
Learn to use multi-stage builds in Docker to separate the build environment from the runtime environment, with real Go and Node.js examples that shrink images from hundreds of megabytes down to a handful.
10 Advanced Dockerfile instructions: ARG, ENV, ENTRYPOINT and more
Understand once and for all the difference between ARG and ENV, ENTRYPOINT and CMD, and what HEALTHCHECK, VOLUME and EXPOSE actually do in your Dockerfiles.