Destin Learning Course

Build and Deploy Containerized Applications with Docker

Learn Docker from first principles — running containers, writing Dockerfiles, managing multi-service apps, and deploying to the cloud.

This course takes you from installing Docker to building and shipping a complete multi-container application. You'll work directly with real tools — Docker CLI, Docker Compose, VS Code Dev Containers, and cloud registries — so every skill you develop is immediately applicable on the job.

Enroll Now $24.99

Have a coupon code? Redeem it here

Foundations of Docker course cover
12
Modules
36
Video Lessons
29
Hands-On Labs
∞
Lifetime Access
Self
Paced

What you'll gain

Go from Zero to Deployed

You'll progress from running your first container to deploying a containerized application to AWS or Azure, covering the full lifecycle that production workflows actually require.

Understand Docker, Don't Just Use It

By studying Docker's architecture — the engine, image layers, volumes, and networking — you'll be able to debug problems and make informed decisions rather than copy-pasting commands.

Build Security In from the Start

You'll configure containers to run as non-root users, scan images for vulnerabilities, and apply production-ready best practices before your application ever reaches a live environment.

Who Foundations of Docker is for

Who this course is for

Software Developers

You write application code but have limited experience packaging or running it in containers. This course gives you the practical Docker skills to own your development environment and participate in modern deployment pipelines.

Computer Science Students

You understand programming fundamentals but haven't worked with containerization or cloud-native tooling in a structured way. You'll finish with a deployable project and hands-on experience that translates directly to internship and entry-level roles.

IT and DevOps Professionals

You work with infrastructure and have some exposure to virtualization or Linux environments, but want a solid grounding in Docker before moving into orchestration tools like Kubernetes. This course builds that foundation systematically.

What you'll learn

The course opens by establishing why Docker exists and how it differs from virtual machines — context that shapes everything that follows. From there, you'll build working knowledge of Docker's architecture before moving into hands-on container and image management. Later modules introduce multi-container applications with Docker Compose, containerized development workflows, and cloud deployment. The course closes with a security module and a final project that ties every concept together into a functioning, deployable application.

Module 1 Introduction to Docker
3 lessons ▾
What Is Docker and Why It Matters
Containers vs Virtual Machines
Docker Use Cases and the Cloud-Native Landscape
Module 2 Understanding Docker Architecture
3 lessons ▾
The Docker Engine and Client
Images and Containers
Registries and Docker Hub
Module 3 Running Your First Containers
3 lessons ▾
Running Containers
Detached Mode and Container Listings
Stopping and Managing Containers
Module 4 Working with Docker Images
3 lessons ▾
Pulling and Tagging Images
Image Layers and Storage
Inspecting and Removing Images
Module 5 Managing Data with Volumes
3 lessons ▾
Why Containers Need Persistent Storage
Named Volumes
Bind Mounts and Sharing Data
Module 6 Docker Networking
3 lessons ▾
Container Networking Basics
Bridge Networks and Port Mapping
Container Communication
Module 7 Writing Dockerfiles
3 lessons ▾
What Is a Dockerfile?
Dockerfile Instructions
Building Images and Best Practices
Module 8 Building Multi-Container Applications
3 lessons ▾
Introduction to Docker Compose
Writing Compose Files
Running and Managing Compose Applications
Module 9 Docker for Development
3 lessons ▾
Developer Workflows with Docker
Using VS Code with Docker
Containerized Development Environments and Debugging
Module 10 Docker in the Cloud
3 lessons ▾
Docker on AWS
Docker on Azure and Container Registries
Introduction to Kubernetes
Module 11 Docker Security and Best Practices
3 lessons ▾
Container Security Fundamentals
Least Privilege and Image Scanning
Updating Containers and Production Considerations
Module 12 Final Project
3 lessons ▾
Final Project Overview
Building a Containerized Application
Running the Stack and Final Thoughts

Learn by doing

Every module includes hands-on labs you complete in a real Docker environment using the Docker CLI, Docker Compose, GDB-style inspection tools like docker history and docker inspect, and cloud platforms including AWS and Azure. You'll work with actual NGINX containers, custom Dockerfiles, live networking configurations, and vulnerability scanners — not toy examples.

Installing Docker
  • Install Docker Desktop (or Docker Engine) on your operating system
  • Confirm Docker is running and accessible from the command line
Verifying the Docker Installation
  • Run docker version and docker info to confirm your installation
  • Run the hello-world image to verify Docker can pull and run containers
Exploring Docker Info
  • Use docker info and docker version to inspect your Docker environment configuration
  • Identify the storage driver, number of containers, and images on your system
Connecting to Docker Hub
  • Create a Docker Hub account and authenticate using docker login
  • Search for and pull an official image from Docker Hub
Running an Ubuntu Container
  • Run an interactive Ubuntu container using docker run -it
  • Execute commands inside the running container and exit cleanly
Running NGINX in Docker
  • Run an NGINX container in detached mode and map it to a host port
  • Verify the NGINX welcome page loads in a browser
Managing Containers
  • List, stop, restart, and remove containers using docker ps, docker stop, and docker rm
  • Practice viewing container logs with docker logs
Pulling Images from Docker Hub
  • Pull multiple tagged versions of an image from Docker Hub
  • List local images and identify their tags and sizes
Exploring Image Layers
  • Use docker history to inspect the layers of an image
  • Explain how layer caching affects build and pull performance
Managing Local Images
  • Remove unused images and prune dangling images from the local cache
  • Free disk space using docker image prune
Creating Docker Volumes
  • Create a named volume and mount it into a container
  • Verify data persists after the container is removed and recreated
Using Bind Mounts
  • Mount a host directory into a container using a bind mount
  • Edit a file on the host and confirm the change is visible inside the container
Persistent Container Data
  • Configure a container to store its data in a named volume
  • Simulate a container failure and confirm data survives the restart
Publishing Container Ports
  • Publish a container's port to the host using the -p flag
  • Access the containerized service from a web browser on the host
Creating Custom Networks
  • Create a custom bridge network using docker network create
  • Attach containers to the custom network and inspect its configuration
Connecting Containers
  • Connect two containers on the same custom network and verify they can communicate by name
  • Use docker network inspect to confirm connectivity
Creating Your First Dockerfile
  • Write a Dockerfile that installs dependencies and copies application code
  • Define the CMD instruction to run the application on container start
Building Custom Images
  • Build an image from your Dockerfile using docker build
  • Tag the image with a meaningful name and version
Running Custom Containers
  • Run a container from your custom-built image
  • Confirm the application behaves as expected inside the container
Creating a Docker Compose File
  • Write a docker-compose.yml defining two or more services
  • Configure networking and environment variables between services
Running a Multi-Container Application
  • Start a multi-container application using docker compose up
  • Verify the services can communicate and the application works end-to-end
Managing Compose Services
  • Scale, stop, and restart individual services using Compose commands
  • View aggregated logs across all services with docker compose logs
Using VS Code with Docker
  • Install the Dev Containers extension and open a project inside a container
  • Edit and run code from within the containerized development environment
Building a Developer Environment
  • Configure a containerized development environment with live code reloading
  • Use docker exec to troubleshoot a running development container
Using a Container Registry
  • Push a custom image to a cloud container registry
  • Pull the image back down and run it to confirm the round trip
Deploying Containers to the Cloud
  • Deploy a container to a cloud compute service (e.g. AWS Fargate or Azure Container Instances)
  • Confirm the deployed container is reachable and running correctly
Scanning Docker Images
  • Scan a Docker image for known vulnerabilities using a scanning tool
  • Identify and remediate at least one flagged issue
Container Security Basics
  • Configure a container to run as a non-root user
  • Apply resource limits to a container using CPU and memory flags
Final Docker Project
  • Design, build, and containerize a multi-service application using Docker and Docker Compose
  • Deploy and verify the full application stack runs correctly end-to-end

Destin Learning

Destin Learning creates practical, project-driven courses for developers, IT professionals, and tech enthusiasts who want to build real skills — not just pass a certification exam.

Every course is built around hands-on labs, working code, and real-world tools. Our students learn by doing: writing programs, configuring systems, and solving problems in environments that mirror what they'll encounter on the job.

Our courses cover systems programming, Linux administration, cloud infrastructure, AI and machine learning, and foundational computer science — all taught with the same philosophy: understand it deeply, build it yourself, and know why it works.

Destin Learning · destinlearning.com

Start Building with Docker Today

Contact us for pricing and get lifetime access to self-paced video lessons, hands-on labs, and a guided final project.

$24.99
Enroll Now

Have a coupon code? Redeem it here