Francisco Javier Palacios Pérez Fco. Javier Palacios Pérez
Software Developer
Course: Mastering Docker from Scratch

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.

Why containers exist: from physical servers to Docker 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.

Installing Docker and running your first container 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.

Docker images and containers: understanding the relationship 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.

Interactive containers and exec: get inside, run commands, get out 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.

Docker port mapping: connect your containers to the outside world 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.

Introduction to Dockerfiles: build your own images 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.

Dockerfile Best Practices: Layer Caching and Efficiency 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.

Dockerfile Best Practices: Security 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.

Multi-stage builds in Docker: smaller, cleaner images 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.

Advanced Dockerfile instructions: ARG, ENV, ENTRYPOINT and more 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.