DEV105 · Containers with Docker

Categories: Cloud & Software
Wishlist Share

About Course

Package applications into portable, secure containers with Docker and run multi-service stacks with Docker Compose. You will containerize a Node.js API and its PostgreSQL database with small, non-root, scanned images.

Advance · 8 hours · 4 lessons, a lab, an assessed assignment and a portfolio piece

Who it is for

Developers and operations staff who want applications to run the same way on every laptop, server and pipeline.

Prerequisites

Complete DEV102 and DEV104, or be comfortable with the Linux command line and a basic CI workflow.

What you will be able to do

  • Explain images, containers, layers, registries and how containers differ from virtual machines.
  • Write efficient, secure Dockerfiles using multi-stage builds, layer caching and a non-root user.
  • Run multi-container applications with Docker Compose, including networks, volumes, environment variables and health checks.
  • Scan images for vulnerabilities and build and publish images from a CI pipeline.

Lessons

  • Lesson 1 · Containers, images and the Docker workflow
  • Lesson 2 · Writing efficient and secure Dockerfiles
  • Lesson 3 · Multi-container apps with Docker Compose
  • Lesson 4 · Lab and assignment

Lab: Containerize an API and its database

You will write a multi-stage Dockerfile for a small Node.js API, measure the image size before and after optimization and run it as a non-root user. You will then create a Compose file with the API, PostgreSQL and a named volume, add health checks, scan the image and build it automatically in GitHub Actions.

Free tools: Docker Desktop (free for personal, education and small-business use) or Docker Engine on Linux, Docker Compose, Trivy (free) or Docker Scout's free tier, VS Code with the Docker extension, GitHub Actions and GitHub Container Registry

Assessed assignment

Containerize a small business application, such as an appointment API for a physiotherapy clinic or the inventory app of a hardware store, together with its database. Deliver a multi-stage Dockerfile, a .dockerignore, a compose.yaml with at least two services, a named volume, health checks and configuration from environment variables, plus a CI workflow that builds, scans and pushes the image to a registry. Include a README with the image size before and after optimization, the scan summary with how you handled any high or critical findings, and the commands to start, stop and back up the data.

Criterion Weight What excellent work looks like
Dockerfile quality 30% Multi-stage, small base image, cache-friendly ordering, non-root user and no secrets in layers.
Compose setup 25% Services start in the right order with health checks, data persists in a volume and configuration comes from the environment.
Security and scanning 25% The image is scanned, serious findings are fixed or explained, and the CI workflow pushes only after a successful scan.
Documentation 20% The README lets someone run, stop and back up the stack and shows measured size improvements.

Portfolio piece

A production-style container setup for an API and database, with optimized images, Compose file and CI build.

Self-paced, 12-month access. Questions are answered in writing through the student panel. A completion record is issued when you finish the course.

Next step

Continue with DEV106 · Container Orchestration with Kubernetes · 8 hours · $56.00

Continue to the next course

Prefer the whole program? Program in DevOps, Containers & Cloud Automation · $378.00 (10% less than buying the courses separately)

Show More

What Will You Learn?

  • Explain images, containers, layers, registries and how containers differ from virtual machines.
  • Write efficient, secure Dockerfiles using multi-stage builds, layer caching and a non-root user.
  • Run multi-container applications with Docker Compose, including networks, volumes, environment variables and health checks.
  • Scan images for vulnerabilities and build and publish images from a CI pipeline.

Course Content

DEV105 · Containers with Docker (8 h)
Package applications into portable, secure containers with Docker and run multi-service stacks with Docker Compose. You will containerize a Node.js API and its PostgreSQL database with small, non-root, scanned images.

  • Lesson 1 · Containers, images and the Docker workflow
  • Lesson 2 · Writing efficient and secure Dockerfiles
  • Lesson 3 · Multi-container apps with Docker Compose
  • Lesson 4 · Lab and assignment
  • DEV105 Assessment · Containers with Docker
Scroll to Top