Docker & Deployment
Containerise Python apps with Docker, orchestrate multi-service stacks with Docker Compose, write GitHub Actions CI/CD pipelines, and deploy to the cloud.
Why learn Docker & Deployment?
It works on my machine stops being a problem the moment you can containerize an application. Docker & Deployment teaches Docker from why containers exist through to actually deploying a containerized app to a cloud server with HTTPS.
It is 5 modules: Docker fundamentals and running your first container, writing production-ready Dockerfiles for Python apps, orchestrating multi-service stacks with Docker Compose so an API, database, and cache run together, automating tests and builds with GitHub Actions CI/CD pipelines, and cloud deployment with a reverse proxy and TLS.
Like Database Design & ORMs, this is a concept-driven course: each module is practiced with real exercises rather than building toward one capstone.
Who this course is for
- Developers who have heard of Docker but never actually written a Dockerfile
- Backend developers ready to deploy their own projects instead of relying on someone else's pipeline
- Anyone preparing for the Backend Capstone track, which assumes these skills
- Python developers whose current deployment process is upload the files and hope
What you'll build and practice
- A working understanding of containers, images, and how Docker actually runs them
- A production-ready Dockerfile for a Python application
- A multi-service stack orchestrated with Docker Compose: API, database, and cache together
- A GitHub Actions pipeline that tests, builds, and deploys automatically
- A containerized app deployed to a cloud VPS with a reverse proxy and TLS
What you'll learn
Docker & Deployment is organized into 5 focused modules. By the end you'll be comfortable with:
- Docker Fundamentals
- Dockerising Python Apps
- Docker Compose
- CI/CD with GitHub Actions
- Cloud Deployment
Course curriculum
17 lessons across 5 modules. Lessons marked Free preview are readable without an account.
Module 1. Docker Fundamentals
Understand why containers exist, how Docker works, and run your first container.
- 8mWhy Containers?Free preview
Understand the problem containers solve and why Docker became the industry standard.
- 10mInstalling Docker & First ContainerFree preview
Install Docker and run your first container from the command line.
- 12mDockerfile Basics
Write a Dockerfile to package your own application as a Docker image.
- 8mDocker Images & the .dockerignore File
Understand image layers, image size best practices, and how to exclude files from your build.
Module 2. Dockerising Python Apps
Write production-ready Dockerfiles for FastAPI apps and manage runtime configuration.
- 12mProduction Dockerfile for FastAPI
Write a production-grade Dockerfile for a FastAPI application with non-root user and health checks.
- 10mEnvironment Variables in Docker
Pass configuration to containers at runtime using environment variables — never bake secrets into images.
- 10mMulti-Stage Builds
Use multi-stage builds to create small, secure production images by separating build and runtime dependencies.
- 8mDocker Volumes & Persistent Data
Understand how volumes solve the problem of data loss when containers restart.
Module 3. Docker Compose
Orchestrate multi-service applications with Docker Compose — API, database, and cache running together.
- 12mDocker Compose Basics
Learn the docker-compose.yml format and run a multi-service application with a single command.
- 10mCompose Overrides: Dev vs Production
Use multiple Compose files to maintain separate development and production configurations without duplication.
- 12mFull Stack with Compose: API + DB + Redis
Build a complete docker-compose.yml that wires together FastAPI, PostgreSQL, and Redis.
Module 4. CI/CD with GitHub Actions
Automate testing, building, and deploying your Docker app with GitHub Actions pipelines.
- 12mGitHub Actions: CI Pipeline Basics
Understand GitHub Actions concepts and write your first CI workflow that runs tests on every push.
- 12mBuild & Push Docker Images in CI
Automatically build your Docker image and push it to a registry on every merge to main.
- 12mDeploy on Merge: SSH Deployment
Automatically pull the new Docker image and restart your service when code merges to main.
Module 5. Cloud Deployment
Deploy your Dockerised app to a cloud VPS with a reverse proxy, TLS, and production configuration.
- 8mCloud Deployment Options
Compare cloud deployment strategies and choose the right one for your project stage.
- 15mVPS Setup: Nginx Reverse Proxy & TLS
Set up a production VPS with Nginx as a reverse proxy and Let's Encrypt TLS certificates.
- 10mProduction Deployment Checklist
Review the essential checklist before declaring your app production-ready.
Frequently asked questions
- Do I need prior DevOps experience to take this course?
- No. Module 1 starts with why containers exist at all before touching a single Docker command. Comfort with the Linux terminal, from Linux Essentials or similar, makes the later modules smoother but is not a hard requirement.
- Does the course cover CI/CD, or just Docker itself?
- Both. Module 4 is dedicated to automating tests, builds, and deploys with GitHub Actions, so by the end you are not just running containers locally, you are shipping them through a real pipeline.
- Which cloud provider does the deployment module use?
- The final module teaches deployment to a generic cloud VPS with a reverse proxy and TLS, patterns that transfer directly to providers like DigitalOcean, Hetzner, or AWS rather than locking you into one vendor's specific tooling.
- Is there a capstone project in this course?
- No, this track is five concept modules practiced with hands-on exercises rather than one project built up over the whole course. The Backend Capstone track is where Docker and deployment get applied to a single, complete project.
- How does this course connect to the Backend Capstone track?
- Backend Capstone's final module has you Dockerize your project, build a CI/CD pipeline, and deploy it with HTTPS, exactly the skills this course teaches in depth. Finishing here first makes that module far less stressful.
Ready to start Docker & Deployment?
Create a free account to track progress, earn XP, and get instant help from the AI tutor as you code.
Create your free account