DevOps.Academy
CoursesCurriculumPricing

    Loading…

    ↑ ↓ move · ↵ open · Ctrl K anywhere

    ◔My learningSign in
    DevOps.Academy

    Free, hands-on DevOps lessons. Made with care in India.

    Learn

    All coursesLinux roadmapCurriculumMy learning

    Academy

    PricingCertificates

    Legal

    PrivacyTermsContact

    devops.rajeev.pro

    course 04 · beginner

    Docker

    Package an app once and run it the same way on your laptop, in CI and in production.

    Start lesson 1 →See the roadmap ↓Take the course quiz
    Level
    Beginner
    Roadmap
    14 stages · 49 topics
    Lessons
    14 of 14 ready
    Done by you
    0/14 stages
    Before this
    Linux & Bash
    Course quiz
    61 questions →
    Certificate
    Preview →
    before you start

    The Docker roadmap

    Everything this course covers, in the order you'll learn it. Open a stage to see why it matters and jump to its lesson.

    lesson ready coming soon done by you
    • What containers are
    • Why we need them
    01Introduction+start here

    Why containers took over, and how they differ from VMs.

    Lesson 1: Containers: what they are and why they won →
    • Bare metal vs VMs vs containers
    • Docker & OCI
    • Namespaces
    02Under the hood+

    Containers are Linux features. Knowing them makes debugging much easier.

    Lesson 2: Under the hood: namespaces, cgroups and layered filesystems →
    • cgroups
    • Union filesystems
    • Docker Desktop
    03Installation+

    Get a working Docker setup on your machine and on a server.

    Lesson 3: Installing Docker: Desktop, Engine on Linux, and rootless →
    • Docker Engine on Linux
    • Rootless mode
    • Images vs containers
    • docker run
    04Docker basics+

    Run, inspect and stop your first containers.

    Lesson 4: Docker basics: images, containers, ports, logs and exec →
    • Ports
    • logs & exec
    • Databases
    05Third-party images+

    Run databases and tools in seconds without installing them.

    Lesson 5: Other people's images: databases, tools and runtimes →
    • CLI tools
    • Language runtimes
    • Ephemeral filesystem
    06Data persistence+

    Containers forget everything when they stop. Learn where data should live.

    Lesson 6: Keeping data: volumes, bind mounts and backups →
    • Volumes
    • Bind mounts
    • Dockerfile
    • Layer caching
    07Building images+

    Write Dockerfiles that build fast and ship small.

    Lesson 7: Building images: Dockerfiles, the layer cache and multi-stage builds →
    • Multi-stage builds
    • Smaller, safer images
    • Docker Hub
    08Registries+

    Store and share images so CI and servers can pull them.

    Lesson 8: Registries: Docker Hub, GHCR, ECR and tags you can trust →
    • GHCR & ECR
    • Tagging best practices
    • docker run options
    09Running containers+

    Run multi-container apps with one file.

    Lesson 9: Running containers well: restart policies, limits, config and Compose →
    • Runtime config
    • Docker Compose
    • Bridge networks
    10Networking+

    How containers find each other and the outside world.

    Lesson 10: Networking: bridge networks, published ports and container DNS →
    • Published ports
    • Container DNS
    • Image scanning
    • Non-root users
    11Security+

    Most container images in the wild run as root with known CVEs. Yours won't.

    Lesson 11: Container security: scanning, non-root, runtime limits and secrets →
    • Runtime security
    • Secrets
    • Images
    • Containers
    12Docker CLI+

    Keep a busy Docker host tidy and understandable.

    Lesson 12: The Docker CLI day to day: inspect, filter, format and clean up →
    • Volumes
    • Networks
    • Cleanup (prune)
    • Hot reloading
    • Debugging
    13Developer experience+

    Use containers for daily development, not just deployment.

    Lesson 13: Developing with Docker: hot reload, debugging, tests and CI →
    • Tests in containers
    • Docker in CI
    • PaaS options
    14Deploying containers+

    Where containers go next. This leads into the Kubernetes course.

    Lesson 14: Deploying containers: PaaS, Docker Swarm and Kubernetes →
    • Docker Swarm
    • Kubernetes
    Course complete · ready for the next one

    Stage order follows the community roadmap at roadmap.sh/docker, trimmed to what DevOps work needs.