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

Practical Docker

Intermediate
21 h
4.8 (207 reviews)
Practical Docker

Docker in practice: build, ship and run containers confidently across environments.

Hands-on labs with images, registries, volumes and networking.

Secure, monitor and orchestrate containers with Compose and best practices.

Gain practical experience through ~70% labs using real-world Docker workflows.

How this helps: apply Docker effectively in development and production setups.

Who it’s for: designed for individuals with basic Linux skills who want container expertise.

Includes end-to-end project simulating real deployment scenarios.

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