Docker Fundamentals: Images, Containers and Compose

Learn Docker from images and containers to Dockerfiles, volumes, networking and Compose. For developers who want consistent environments.

Start course →

What you'll learn

  • Explain containers, images and how they differ from virtual machines.
  • Write Dockerfiles and build, tag and push images.
  • Run containers with ports, environment variables and volumes.
  • Connect services with networks and Docker Compose.
  • Debug, secure and optimize images and containers.

Syllabus

Module 1: Getting Started

  1. What Is a Container?
  2. Installing Docker

Module 2: Images & Containers

  1. Image vs Container
  2. Pulling an Image
  3. Running a Container
  4. Container Lifecycle

Module 3: Writing a Dockerfile

  1. Dockerfile Basics
  2. Building an Image

Module 4: Running Apps

  1. Exposing Ports
  2. Environment Variables
  3. Naming Containers

Module 5: Data & Volumes

  1. Containers Are Ephemeral
  2. Volumes vs Bind Mounts
  3. Cleaning Up & Resource Limits

Module 6: Networking

  1. The Default Bridge Network
  2. Connecting Containers
  3. Container-to-Host Communication
  4. Inspecting & Debugging Containers

Module 7: Docker Compose

  1. Why Compose?
  2. A docker-compose.yml Example
  3. compose up / down

Module 8: Images at Scale

  1. Multi-Stage Builds
  2. .dockerignore
  3. Tagging & Versioning

Module 9: Registries

  1. Docker Hub Basics
  2. Pushing & Pulling

Module 10: Best Practices

  1. Writing Efficient Dockerfiles
  2. Security Basics