Edocti
Advanced Technical Training for the Software Engineer of Tomorrow
Edocti Training

Practical Docker

Intermediate
21 h
4.8 (207 reviews)

Scheduled sessions

No sessions are available at the moment.
Practical Docker

Docker in practice: Learn to build, ship, and run containers with absolute confidence across any environment.

Gain hands-on experience working with Docker images, registries, persistent volumes, and complex container networking.

Learn how to securely configure, monitor, and orchestrate multi-container applications using Docker Compose and industry best practices.

Learn by doing: Spend ~70% of the training in active labs, implementing real-world Docker workflows and solving deployment challenges.

How this helps: Apply Docker effectively to streamline both local development setups and scalable production deployments.

Who it’s for: Developers and IT professionals with basic Linux skills who want to become proficient in container technologies.

The course concludes with an end-to-end project simulating real-life deployment and orchestration scenarios.

Skills You Will Learn

Docker Images & Registries Persistent Volumes Docker Compose Container Networking Container Security Docker Swarm Kubernetes Basics CI/CD Integration

Curriculum

Initial setup

  • Understand Docker editions and install Docker on Windows/Linux
  • Run a few simple containers

Main commands

  • Essential Docker CLI commands
  • Various ways to start a container
  • Commands for dealing with images and containers
  • Logging with multiple Docker containers

Building a Dockerfile

  • Create a base image and reuse it for derived images
  • Images and their layers; working with repositories
  • Write Dockerfiles
  • Configure sshd, users, groups, permissions, shared folders

Docker internals

  • Container vs VM
  • Kernel namespaces (hands-on)
  • CLI process monitoring
  • Container lifecycle and persistent storage: volumes, path expansion, bind mounts

The servers and a sample application

  • Build a sample multi-service app
  • DNS server
  • Two web servers
  • A load balancer
  • A DB server (Postgres)
  • Optional: an email server

Working with swarms

  • Docker Compose and Swarm basics
  • Most important compose commands
  • Built-in orchestration
  • Scale out with overlay networking or routing mesh
  • Use secrets in swarm services
  • Swarm application lifecycle

Kubernetes essentials

  • Intro and comparison with Swarm; why Kubernetes?
  • Installing Kubernetes; minikube, microk8s
  • kubectl run, create, apply
  • Your first Pod
  • Create a NodePort and a LoadBalancer
  • Running, exposing and using Generators

Optional modules

Advanced topics (optional)

  • Multi-stage builds, BuildKit cache mounts, and multi-arch builds with buildx
  • Advanced networking: bridge/host/macvlan/ipvlan, overlay internals, routing mesh vs. ingress
  • Security hardening: rootless Docker, user namespaces, seccomp/AppArmor/SELinux, capabilities
  • Image governance: SBOMs (Syft), image scanning (Trivy/Grype), signing (cosign/Notary v2)
  • Storage deep-dive: volumes vs. bind mounts vs. tmpfs, volume drivers, performance on macOS/Windows
  • Observability: logging drivers (json-file, journald, syslog, fluentd), metrics (cAdvisor), eBPF tools
  • Registries: private registry, Harbor, access control and retention policies
  • CI/CD integration: GitHub Actions/GitLab CI caching, ephemeral test environments
  • Kubernetes add-ons: Deployments/Services/Ingress, Helm basics, RBAC, Secrets/ConfigMaps best practices
  • Swarm advanced: rolling updates, constraints/placement, node labels, secrets & configs

Course Day Structure

  • Part 1: 09:00–10:30
  • Break: 10:30–10:45
  • Part 2: 10:45–12:15
  • Lunch break: 12:15–13:15
  • Part 3: 13:15–15:15
  • Break: 15:15–15:30
  • Part 4: 15:30–17:30

Did you attend this course?

Your feedback is invaluable to us. Please share your experience with us and help us improve this course for future participants.

Share your feedback

Want to find out more? We are here to help!

Or email us directly at training@edocti.com.