Docker Foundations
Building Modern Containerized Applications in 2 days
Why this course
Practical Containerization Skills for Modern Developers and IT Professionals
Docker has transformed the way modern applications are built, tested, deployed, and maintained. As organizations increasingly adopt cloud-native architectures, DevOps practices, microservices, and scalable deployment pipelines, containerization has become a core operational requirement rather than a niche engineering skill. Docker provides a lightweight and highly portable platform that enables developers and infrastructure teams to package applications consistently across development, testing, staging, and production environments.
This two-day introductory course is designed to provide participants with a strong practical foundation in Docker technologies, container concepts, and real-world deployment workflows. The training focuses on hands-on operational knowledge aligned with current industry practices, including container image management, Docker networking, storage, Docker Compose, container security considerations, and integration into modern DevOps workflows. Current enterprise trends such as cloud-native development, container security hardening, remote development environments, and Kubernetes integration concepts are also incorporated to ensure relevance to today’s infrastructure landscape.
The course is delivered by an instructor with over 30 years of industry experience who emphasizes practical, production-oriented knowledge and real operational scenarios instead of purely academic theory.
Learning outcomes
By the end of this course, participants will be able to:
- Understand the principles of containerization and modern application deployment
- Differentiate between containers and traditional virtual machines
- Install and configure Docker environments on Linux and Windows systems
- Work with Docker Engine, Docker Desktop, and Docker CLI tools
- Build, manage, and optimize Docker container images
- Create and manage Dockerfiles using industry best practices
- Deploy and manage standalone containers
- Configure Docker networking and persistent storage
- Use Docker Compose to manage multi-container applications
- Work with Docker Hub and container registries
- Understand container security fundamentals and image hardening concepts
Prerequisites
- Basic understanding of operating systems and system administration
- Familiarity with command-line interfaces
- Basic understanding of networking concepts
- Exposure to software development or IT infrastructure environments is beneficial
- Basic Linux knowledge is recommended but not mandatory
- No prior Docker or containerization experience is required
10 modules
01Introduction to Containerization and Modern Application Deployment4 topics
Evolution of application deployment models
- Traditional deployments
- Virtual machines versus containers
- Infrastructure efficiency challenges
- Application portability concerns
- Modern cloud-native application requirements
Understanding Containerization Concepts
- Operating system level virtualization
- Container runtime concepts
- Isolation and namespaces
- Resource allocation and control groups
- Stateless versus stateful workloads
Docker Overview and Industry Adoption
- Docker architecture overview
- Docker Engine components
- Docker Desktop overview
- Docker ecosystem and tooling
- Current container industry trends
- Cloud-native development practices
- Containers in DevOps workflows
- Enterprise adoption patterns
Containers and Modern Infrastructure
- Microservices architecture overview
- CI/CD integration concepts
- Hybrid cloud deployment models
- Remote development environments
- Introduction to orchestration platforms
- Docker and Kubernetes relationship
02Docker Installation and Environment Preparation3 topics
Docker Installation Procedures
- Linux installation workflows
- Windows installation workflows
- Docker Desktop installation
- Verifying Docker installation
- Docker version management
Docker Environment Configuration
- Docker daemon concepts
- Docker service management
- User permissions and groups
- Docker CLI configuration
- Environment validation procedures
Development Environment Setup
- Terminal and shell preparation
- Visual Studio Code integration
- Docker extensions and plugins
- Container development workflows
- Local development best practices
03Docker Architecture and Core Components3 topics
Docker Engine Fundamentals
- Docker daemon
- Docker client
- Docker API
- Docker runtime operations
- Container lifecycle management
Docker Objects and Components
- Images
- Containers
- Networks
- Volumes
- Registries
Understanding Container Lifecycle
- Creating containers
- Starting containers
- Stopping containers
- Restarting containers
- Removing containers
- Inspecting running workloads
04Working with Docker Images4 topics
Docker Image Fundamentals
- Layered image architecture
- Image immutability concepts
- Base images and parent images
- Official images versus custom images
- Image repositories and tags
Managing Images
- Pulling images from Docker Hub
- Searching for images
- Tagging images
- Removing images
- Image inspection operations
Docker Hub and Container Registries
- Docker Hub overview
- Public versus private registries
- Authentication and access control
- Publishing custom images
- Registry operational considerations
Image Optimization and Best Practices
- Lightweight image selection
- Multi-stage builds
- Reducing image size
- Dependency management
- Version consistency strategies
05Building Containers with Dockerfiles4 topics
Dockerfile Fundamentals
- Dockerfile syntax
- Docker build process
- Layer caching concepts
- Build context management
- Docker build lifecycle
Dockerfile Instructions
- FROM
- RUN
- COPY
- ADD
- CMD
- ENTRYPOINT
- ENV
- EXPOSE
- WORKDIR
- USER
Building Custom Images
- Creating application images
- Building web server containers
- Packaging dependencies
- Runtime environment preparation
- Image testing procedures
Dockerfile Best Practices
- Efficient layering
- Security considerations
- Image maintainability
- Build reproducibility
- Enterprise image standards
06Running and Managing Containers3 topics
Container Operations
- Running containers
- Interactive containers
- Detached mode operations
- Port mappings
- Environment variables
- Resource constraints
Monitoring and Troubleshooting Containers
- Viewing logs
- Inspecting containers
- Container process management
- Resource monitoring
- Troubleshooting failed containers
Executing Commands in Containers
- Interactive shell access
- Process execution
- File inspection
- Administrative operations
- Debugging workflows
07Docker Networking Fundamentals3 topics
Docker Networking Concepts
- Container communication
- Bridge networks
- Host networking
- Overlay networking overview
- Network isolation concepts
Managing Docker Networks
- Creating custom networks
- Connecting containers
- Network inspection
- Service discovery concepts
- DNS resolution inside containers
Publishing and Exposing Services
- Port forwarding
- External access configuration
- Reverse proxy concepts
- Multi-container communication
- Security considerations for networking
08Docker Storage and Persistent Data3 topics
Understanding Container Storage
- Ephemeral container storage
- Persistent data requirements
- Storage lifecycle concepts
- Data management challenges
Docker Volumes
- Named volumes
- Anonymous volumes
- Volume management
- Sharing data between containers
- Backup considerations
Bind Mounts and File Sharing
- Host-to-container mappings
- Development workflow integration
- Configuration management
- File permission considerations
- Security implications
09Multi-Container Applications with Docker Compose4 topics
Introduction to Docker Compose
- Compose architecture
- YAML configuration structure
- Multi-container application concepts
- Service definitions
Docker Compose Operations
- Starting applications
- Stopping services
- Scaling containers
- Environment variable management
- Container dependency handling
Building Multi-Service Applications
- Web application containers
- Database integration
- Internal networking
- Persistent storage integration
- Service orchestration basics
Compose Operational Best Practices
- Configuration organization
- Environment separation
- Deployment consistency
- Development workflow optimization
10Docker Security Fundamentals3 topics
Container Security Concepts
- Container isolation boundaries
- Runtime security considerations
- Privileged containers
- Root versus non-root containers
Image Security
- Trusted images
- Official repositories
- Vulnerability scanning concepts
- Secure image sourcing
- Hardened image concepts
Security Best Practices
- Least privilege principles
- Secret management overview
- Limiting attack surfaces
- Image update strategies
- Security compliance considerations
This course outline is intended to serve as a general training framework and guideline only. The instructor reserves the right to modify, reorder, expand, condense, or otherwise amend the course content, sequence of topics, practical exercises, and delivery approach as deemed appropriate based on audience profile, participant experience levels, technological updates, operational requirements, and time constraints. Any such adjustments may be made without prior notice in order to ensure the most effective and relevant learning experience.
A programme built around your team.
Share your training goals and requirements.