Free course

Docker Course

Learn containers by packaging a Node.js API, connecting it to PostgreSQL, building a Compose workflow, and preparing a secure production image.

5 modules · 25 lessons · No signup

Prerequisites: Shell Commands, Linux Basics and Node.js

~~~

Your progress

of lessons completed.

Course completed.

What you'll learn

Build, run, inspect, persist, connect, and ship a containerized Node.js application with Docker and Docker Compose.

Take this course offline

Subscribe to my newsletter to get every free book and course in PDF and EPUB format.

Get the downloads

Course contents

  1. Container foundations

    Understand images and containers, install Docker, and inspect a running workload.

    1. What a container is
    2. Install and verify Docker
    3. Run and inspect a container
    4. Connect images, containers, and registries
    5. Check your understanding: container foundations
  2. Build images

    Create the Notes API, write its Dockerfile, and use build context and caching well.

    1. Create the Notes API
    2. Write the first Dockerfile
    3. Control the build context
    4. Use layer caching deliberately
    5. Check your understanding: build images
  3. Data and networking

    Persist data, mount files, publish ports, and connect containers by name.

    1. Separate data from containers
    2. Choose volumes or bind mounts
    3. Publish ports deliberately
    4. Connect containers by name
    5. Check your understanding: data and networking
  4. Compose applications

    Run the API and PostgreSQL together with health checks and a fast development loop.

    1. Describe services with Compose
    2. Configure the database service
    3. Add health and startup handling
    4. Build a fast development loop
    5. Check your understanding: compose applications
  5. Ship and operate

    Build a focused image, reduce privileges, diagnose failures, and publish a release.

    1. Build a production image
    2. Run as a non-root user
    3. Inspect runtime failures
    4. Tag, push, and deploy the image
    5. Check your understanding: ship and operate