Docker represents a comprehensive infrastructure-agnostic containerization platform that fundamentally transforms how modern applications are built, deployed, and managed. Organizations leverage Docker to create an integrated approach where IT operations teams manage infrastructure security, provisioning, and deployment orchestration, while development teams enjoy the flexibility of building and deploying applications independently through self-service mechanisms.
Core Learning Objectives:
This course explores how Docker enables the three pillars of modern application development: agility in rapid iteration cycles, portability across diverse environments, and granular control over resource allocation. The evolution of containerization through the Containers as a Service (CaaS) model represents a fundamental shift in how organizations architect and deploy applications at scale, supporting the entire application lifecycle from development through production.
Prerequisites:
Participants should have completed ONLC's Docker Fundamentals course or possess equivalent professional experience with containerization concepts.
Comprehensive Course Structure
Getting Started with Docker Enterprise Edition
- Installation procedures and setup
- Understanding the production deployment lifecycle
- Docker EE architecture and components
- Windows Server 2016 installation steps
- Verification and testing of installations
- UCP (Universal Control Plane) and DTR (Docker Trusted Registry) installation procedures
- Swarm cluster initialization and node management
Universal Control Plane Implementation
- UCP installation and configuration
- License upload and activation
- Certificate authority verification and management
Docker Swarm Orchestration
- Swarm architecture components and roles
- Clustering strategies and implementation
- Container orchestration fundamentals
- Optimal manager node configuration
- Industry best practices for production deployments
Docker Trusted Registry Setup
- CLI-based logging verification across cluster nodes
- DTR installation validation through UCP Web UI
Service Deployment and Management
- Replicated and global service deployment patterns
- Service scaling techniques and strategies
- Port publishing and networking configuration
- Port publishing modes and use cases
Application Deployment through the User Interface
- Deploying single containerized services
- Managing multi-service application stacks
Practical Python Application Example
- Adding nodes to the cluster
- Containerizing Python applications
- Application containerization methodology
- Networking differences between Windows and Linux containers
- Resolving localhost connectivity issues
- Deploying applications to the swarm cluster
- Accessing and managing the cluster
- Review and summary
Java Application Examples - Part One
- Selecting and working with Java base images
Docker Stack Composition
- YAML file authoring best practices
- Top-level configuration keys
- Version specifications
- Network definitions
- Service specifications
- Secrets management
- Stack deployment procedures
- Docker Compose installation and configuration
Java Application Examples - Part Two
.NET Application Containerization
- Containerizing .NET applications
- Opening and running applications in Visual Studio
- Additional resources for .NET development tools