Docker & Deployment

Docker & Deployment course — Prowid
Course duration
1 month / 8 lessons
Individual
Per month 200 AZN
Group
Per month 150 AZN
Paying for the full course in a group
15% discount
Installments
50/50
Subscription
from 30 AZN a month
Writing an application is only half the job — it also has to be deployed to a server. In this course you will learn to publish your projects using Linux, Docker and CI/CD.

Enrollment for a new group is open — send a request to reserve your seat

Lessons are taught live in Azerbaijani and Russian.

Or study on your own in your personal account → with a subscription from 30 AZN a month

Course Curriculum

Linux basics: file system, permissions, processes, SSH
Introduction to Docker: images, containers, Docker Hub
Dockerfile: building your own image
Volumes, networks and environment variables
Docker Compose: app + database + Redis
VPS server: Nginx, domain and HTTPS (Let's Encrypt)
CI/CD: automated deployment with GitHub Actions
Cloud platforms: Vercel, Render, AWS (overview)
Monitoring, logs and backups
Final project: deploying a full-stack application
How do we teach?

Learning stages

01

Webinar

Students join the lesson live. At the end of each lesson, students are sent a video recording of the class.

02

Homework

Every assignment is based on the topic covered in the webinar. Homework helps you reinforce the material and understand it better.

03

Working with a mentor

The teacher stays in touch with the group both during the course and outside class. Any questions get answered right away.

04

Portfolio

During the course you'll complete several projects on different topics — they'll show employers what you can do.

Self-paced learning

The full curriculum in your personal account

103 topics with theory, examples and practice. The first 4 are free, the rest come with a subscription. Interactive lessons with slides and coding trainers: 94.

Introduction: Deployment and Linux Basics8 topics
  1. What Is Deployment: Code's Journey from Laptop to User
  2. Linux for Developers: Ubuntu 24.04, WSL2 and a Practice Machine
  3. Terminal and Navigation: Commands, Paths and Directory Layout
  4. Files and Directories: mkdir, cp, mv, rm and Symlinks
  5. Viewing and Editing Files: less, tail -f, nano and vim
  6. Redirection, Pipes and Search: grep, find, sort, xargs
  7. Users, Groups and sudo
  8. File Permissions: rwx, chmod, chown and umask
Linux Server: Packages, Processes, Networking and SSH10 topics
  1. Installing Software with apt: Repositories and Keys
  2. Processes and Signals: ps, htop, kill
  3. systemd Services: systemctl, Unit Files and journalctl
  4. Environment Variables: export, PATH, .bashrc and .env
  5. Bash Scripts for Automation: Variables, Conditions, Exit Codes
  6. Networking for Deployment: IP Addresses, Ports, localhost and 0.0.0.0
  7. DNS, HTTP and HTTPS: What Happens When You Open a Website
  8. SSH: Key-Based Login, ~/.ssh/config, scp and rsync
  9. The ufw Firewall: Opening Only the Ports You Need
  10. Project: Setting Up a Practice Linux Server
Getting Started with Docker9 topics
  1. What Problems Docker Solves
  2. Containers vs Virtual Machines: Namespaces, cgroups, Images
  3. Installing Docker: Docker Desktop and Docker Engine on Ubuntu 24.04
  4. Your First Container: docker run and Its Key Flags
  5. Container Lifecycle: ps, stop, start, rm
  6. Looking Inside: docker logs, exec, inspect and cp
  7. Port Mapping: Making a Container Reachable from the Browser
  8. Images and Docker Hub: Tags, Variants, Digests and Cleanup
  9. Project: Running Services from Ready-Made Images
Dockerfile: Building Your Own Images10 topics
  1. Your First Dockerfile: FROM, RUN, COPY, CMD and docker build
  2. The WORKDIR, ENV, ARG, EXPOSE and LABEL Instructions
  3. Build Context, COPY vs ADD and .dockerignore
  4. CMD and ENTRYPOINT: Exec Form, PID 1 and Signals
  5. Layers and Build Cache: Why Instruction Order Matters
  6. The USER Instruction: Running Your App as Non-Root
  7. Multi-Stage Builds: Separate Build and Runtime
  8. Optimizing Image Size: alpine, slim, distroless
  9. BuildKit and buildx: Cache Mounts, Build Secrets and Multi-Platform
  10. Project: Containerizing a Simple Web App
Data, Networks and Container Configuration8 topics
  1. Volumes: Keeping Container Data Safe
  2. Bind Mounts and tmpfs: Host Files and Temporary Data
  3. Docker Networks: Default Bridge, host and none
  4. User-Defined Networks and DNS Between Containers
  5. Configuration via Environment Variables: -e and --env-file
  6. Secrets in Containers: Passwords and Keys Without Leaks
  7. Resource Limits and Restart Policies
  8. Project: App and PostgreSQL by Hand, Without Compose
Docker Compose8 topics
  1. Docker Compose: Your First compose.yaml and Core Commands
  2. Volumes and Networks in Compose
  3. Variables and Secrets in Compose: environment, env_file, .env and secrets
  4. Building Images in Compose: build, target, args and push
  5. Healthchecks and depends_on: Correct Startup Order
  6. Profiles and Override Files: Dev and Prod in One Project
  7. Compose Watch: Comfortable Development in Containers
  8. Project: App + PostgreSQL + Redis with Docker Compose
Dockerizing Real Applications6 topics
  1. Dockerizing Node.js: A Production Image for Express and NestJS
  2. Dockerizing Python: FastAPI, uvicorn and uv
  3. Django in a Container: gunicorn, Static Files and Migrations
  4. Laravel in Docker: php-fpm and Nginx
  5. Background Jobs in Containers: Queues, Workers and Schedulers
  6. React and Vue in a Production Image: Vite Build and Nginx
Databases in Containers5 topics
  1. PostgreSQL in Docker: Data, Init Scripts and psql
  2. MySQL and MariaDB in Docker: Charset, Users, Healthcheck
  3. Redis in Docker: Cache, Queues and Persistence
  4. Database Backup and Restore: pg_dump, mysqldump and Scheduling
  5. Secure Database Access on a Server and Major Version Upgrades
Registries, Debugging and Security6 topics
  1. Publishing Images to Docker Hub: login, tag, push and Versions
  2. GHCR and Private Image Registries
  3. Debugging Containers: Exit Codes, OOM, Networking and Startup Crashes
  4. Secure Runtime: Non-Root, Read-Only, Capabilities and docker.sock
  5. Scanning Images for Vulnerabilities: Trivy and Docker Scout
  6. Project: A Hardened Image in a Registry
Deploying to a VPS: Nginx, Caddy and HTTPS10 topics
  1. Choosing a VPS: Provider, Plan, Region and Server Creation
  2. Initial Ubuntu Server Setup: User, SSH, Updates
  3. Docker on a Production Server: daemon.json, Log Rotation and the UFW Trap
  4. Domain and DNS: Pointing a Name to Your Server
  5. First Deployment: Running a Compose Project on the Server
  6. Nginx as a Reverse Proxy for Containers
  7. HTTPS with Let's Encrypt: certbot and Auto-Renewal
  8. Caddy: A Reverse Proxy with Automatic HTTPS
  9. Zero-Downtime Deployment: Healthchecks, Blue-Green and Rollback
  10. Project: Laravel, Django or Node.js on a VPS with Nginx and HTTPS
CI/CD with GitHub Actions7 topics
  1. CI/CD and GitHub Actions: Workflows, Jobs, Steps and Triggers
  2. CI: Tests and Linters on Every Push and Pull Request
  3. Building and Pushing an Image to GHCR from GitHub Actions
  4. Secrets, Variables and Environments in GitHub Actions
  5. Automatic Deployment to a VPS over SSH
  6. Tag-Based Releases, Staging and Production, Rolling Back
  7. Project: A Complete CI/CD Pipeline from Pull Request to Production
Monitoring, Logs and Backups5 topics
  1. Logs in Production: stdout, Logging Drivers and Dozzle
  2. Server and Container Resources: docker stats, Disk and Memory
  3. Uptime Kuma: Uptime Monitoring and Telegram Alerts
  4. Metrics: Prometheus, Grafana and Loki (Overview)
  5. Server Backups: The 3-2-1 Rule, restic and Offsite Storage
Introduction to Kubernetes7 topics
  1. Why Kubernetes: Orchestration and Cluster Architecture
  2. A Local Cluster: kind, minikube and kubectl
  3. Pods: Your First Manifest and kubectl apply
  4. Deployments: Replicas, Rolling Updates, Probes and Rollback
  5. Services: Reaching Pods Inside and Outside the Cluster
  6. ConfigMaps and Secrets: App Configuration in Kubernetes
  7. Ingress and Gateway API: Domains and HTTP Routing
Cloud Platforms and Final Project4 topics
  1. PaaS vs VPS: Deploying a Container to Render and Railway
  2. Fly.io, DigitalOcean App Platform and Vercel: When to Choose Which
  3. AWS for Beginners: EC2, ECR, ECS Fargate and S3
  4. Final Project: A Full-Stack App in Production

Group and individual classes include a teacher, homework review and a certificate. The subscription gives you materials, exercises and progress tracking at your own pace, without teacher feedback.

Docker & deployment course: how to enroll

Fill in the form and we will tell you the start date of the next group, the schedule and payment terms. Or come to a free trial lesson first.

WhatsApp