
Master docker fundamentals through 40 practical demos, covering installation, core concepts, Dockerfile instructions, volumes, networks, and multi-container deployments with Docker Compose and BuildKit.
Understand how traditional infra slows provisioning and consistency, and how Docker uses lightweight containers and a Docker engine for isolated, scalable deployments across physical or virtual machines.
Explore docker architecture by understanding hosts, daemons, and clients, then learn how images become containers, attach networks and volumes, and use docker hub for image distribution.
Install docker desktop and sign up to docker hub, exploring the personal plan and pricing, and download steps for Mac and Windows.
Pull and run a Docker image from Docker Hub to create containers, then connect, stop, start, remove containers, and remove images using docker pull, run, exec, stop, rm, and rmi.
Pull a public Docker image from Docker Hub, such as stack simplify/my nginx, using v1 to v4 tags. Learn about pull limits and alternative registries like gcr.io/tag simplify/my nginx.
Learn essential docker commands to run containers, use docker ps to list them, attach with docker exec, and manage stop, start, rm, and rmi, plus pull for images.
Learn to write dockerfiles with instructions to build a docker image using nginx as the base and copy index.html. Then tag and push the image to Docker Hub.
Tag the built nginx custom image with your docker id, push it to Docker Hub, and verify its presence, noting tags like v1 to v4 and multi-platform support.
Learn how Dockerfile labels add metadata to images and how OCI labels standardize maintainer and version. Verify these labels with docker image inspect on an nginx alpine slim image.
Build a lean nginx alpine slim image with custom OCI labels, run a container on port 8080, and verify image and container labels using docker image inspect and docker inspect.
Compare Dockerfile add versus copy, covering build context sources, remote URL support, and tar extraction, and learn when to prefer copy for files and add for tar or URL fetch.
Explore dockerfile add versus copy through a hands-on demo that builds an nginx-based image, copies static files, and verifies the results in a running container.
Test the dockerfile add instruction by fetching files from a GitHub release URL and copying git one.html, git two.html, and index.html into /usr/share/nginx/html.
Learn how the Dockerfile arg instruction defines build time variables that can be overridden at build time with --build-arg, with default values and env taking precedence when both are defined.
Learn how to use the dockerfile arg instruction to set and override build-time nginx versions, build and run containers, and verify the version with nginx -v.
Learn how to use the Dockerfile run instruction to add packages and create image layers, and how expose defines runtime ports, with practical nginx examples and cache considerations.
Implement dockerfile run and expose instructions to build and run an nginx-based image, map multiple ports, test with curl, and verify contents inside the container.
Learn how the dockerfile env and arg differ in persistence, define environment variables, and set a default startup command using cmd and workdir for reliable container behavior.
Explore how ARG and ENV enable build-time and runtime values in Docker, and verify their impact in a Python Flask app using Dockerfile, workdir, requirements, and templates.
Verify workdir and command instructions inside the container, and override the buildtime arg with --build-arg to set QA as the default environment, building the v1-qa image for a QA container.
Important Note: This course requires you to download Docker Desktop from Docker website . If you are a Udemy Business user, please check with your employer before downloading software.
Course Modules
Demo-01: Install Docker Desktop, Sign Up to Docker Hub
Demo-02: Docker Commands: pullm run, exec, stop, start, rm, rmi
Demo-03: Build Docker Image and Push to Docker Hub
Demo-04: Dockerfile - LABELS Instruction
Demo-05: Dockerfile - ADD vs COPY Instructions
Demo-06: Dockerfile - ADD Fetch from URL (GitHub Release)
Demo-07: Dockerfile - ARG Instruction
Demo-08: Dockerfile - RUN and EXPOSE Instructions
Demo-09: Dockerfile - ENV, ARG, CMD, WORKDIR Instructions
Demo-10: Dockerfile - CMD Instruction - Override with docker run
Demo-11: Dockerfile - ENTRYPOINT Instruction
Demo-12: Dockerfile - HEALTHCHECK Instruction
Demo-13: Dockerfile - USER Instruction
Demo-14: Docker Ports: -p and -P flags
Demo-15: Docker Volume - Basics
Demo-16: Docker Volumes: Use Docker Volumes with Docker Containers
Demo-17: Docker Volumes: Populate Data in Docker Volumes using Containers
Demo-18: Docker Volumes: Mount a Volume sub-directroy
Demo-19: Docker Bind Mounts: Basics
Demo-20: Docker Bind Mounts: Mount in Read-Only mode
Demo-21: Docker Volumes vs Bind Mounts with Non-empty dir usecase
Demo-22: Docker tmpfs Mount
Demo-23: Deploy Multi-container Applications using Docker Commands
Demo-24: Docker Compose: Basics (MySQL DB as Service)
Demo-25: Docker Compose: Named Volumes with additional Metadata
Demo-26: Docker Compose: Multi-container Application - UMS WebApp + MySqlDB
Demo-27: Docker Compose: DEPLOY (Scale containers) - Nginx + UMSWeb + MySqlDB
Demo-28: Docker Compose: NETWORKS (Frontend: Web, App, Backend: App, DB)
Demo-29: Docker Compose: HEALTHCHECKS
Demo-30: Docker Compose: STARTUP ORDER with Conditions
Demo-31: Docker Compose: PROFILES
Demo-32: Docker Compose: LINKS
Demo-33: Docker Compose: ALIASES
Demo-34: Docker Compose: BUILD
Demo-35: Docker Compose: DEVELOP WATCH with SYNC + RESTART
Demo-36: Docker Compose: DEVELOP WATCH with SYNC + REBUILD
Demo-37: Docker BuildKit: Buildx CLI, Local and Build Cloud Builders
Demo-38: Docker BuildKit: Build Multi-platform Docker Images
Demo-39: Docker Build Cloud: Remote Builds using Cloud Builder
Demo-40: Docker Multi-stage Builds
Docker Concepts Covered
1. Docker Installation and Setup
- Installing Docker Desktop
- Signing up for Docker Hub
2. Basic Docker Commands
- Pulling, running, executing, stopping, starting, removing containers and images
3. Docker Image Management
- Building and pushing Docker images
4. Dockerfile Instructions
- LABELS, ADD vs COPY, ARG, RUN, EXPOSE, ENV, CMD, WORKDIR, ENTRYPOINT, HEALTHCHECK, USER
5. Docker Ports
- Mapping ports using -p and -P flags
6. Docker Volumes and Data Management
- Docker volumes basics, usage with containers, data population, sub-directory mounts, and differences between volumes and bind mounts
7. Docker Bind Mounts
- Basics, read-only mode, and non-empty directory use cases
8. Temporary File Storage
- tmpfs mounts
9. Multi-container Applications
- Deploying multi-container applications with Docker commands
10. Docker Compose
- Basics, named volumes with metadata, multi-container applications, scaling, networks, health checks, startup order, profiles, links, aliases, build, develop-watch features
11. Advanced Docker Compose Features
- Network configurations, health checks, profiles, aliases, and links
12. Docker BuildKit
- Using BuildKit for building multi-platform images and setting up builders
13. Docker Cloud Build
- Remote builds using Docker’s cloud builder
14. Docker Multi-stage Builds
- Creating optimised images through multi-stage builds
Each of my courses comes with
Amazing Hands-on Step By Step Learning Experiences
Practical demos for each and every concept
Friendly Support in the Q&A section
"30-Day "No Questions Asked" Money Back Guaranteed by Udemy"