Get in Touch
 Duration 14 hours

Course Outline

Introduction

  • Overview of advanced Docker concepts and workflows
  • Recap of containerization principles and real-world use cases
  • Key Docker terminology and essential components
  • Outline of course objectives and the hands-on environment

Docker Features and Architecture Overview

  • The Docker Engine and its constituent parts
  • Docker client, daemon, images, containers, and registries
  • Docker architectural design and container lifecycle
  • Docker Hub and the use of private registries
  • Advanced Docker CLI fundamentals
  • Administration of Docker resources and configurations

Docker Setup

  • Installation of Docker Community Edition
  • Configuration of the Docker environment
  • Validation of the Docker installation
  • Setting up Docker for development and testing purposes
  • Management of Docker configuration and storage
  • Introduction to troubleshooting the Docker environment

Creating Custom Docker Images

  • Comprehending Docker images and layering
  • Authoring efficient Dockerfiles
  • Dockerfile directives and recommended practices
  • Handling build context
  • Compiling and tagging images
  • Utilizing .dockerignore
  • Optimizing image size and build efficiency
  • Version control and tagging for images
  • Implementing multi-stage Docker builds
  • Pushing images to a container registry

Executing Multi-Container Applications with Docker Compose

  • Overview of Docker Compose
  • Specifying services using Compose files
  • Network and volume configuration
  • Handling environment variables
  • Managing service dependencies and startup sequences
  • Launching and scaling multiple services
  • Generating application images via Compose
  • Managing application settings
  • Debugging multi-container setups
  • Best practices for Compose

Challenges in Deploying Numerous Docker Applications

  • Overseeing containers distributed across multiple hosts
  • Application scalability and availability
  • Service discovery mechanisms
  • Load balancing strategies
  • Management of configuration and secrets
  • Challenges related to persistent storage
  • Monitoring and logging at scale
  • Executing rolling updates and application deployments
  • Recovering from container and host failures

Maintaining Control via Container Orchestration

  • Introduction to container orchestration
  • Advantages and constraints of orchestration
  • Comparison of Docker Swarm, Kubernetes, and alternative solutions
  • Scheduling and workload administration
  • Service discovery and networking
  • Scaling and self-healing capabilities for applications
  • Rolling deployments and rollback procedures
  • Resource management and workload isolation
  • Selecting the right orchestration platform

Kubernetes in Practice

  • Kubernetes architecture and primary components
  • Pods, nodes, and clusters
  • Deployments and ReplicaSets
  • Services and service discovery
  • ConfigMaps and Secrets
  • Namespaces and resource structuring
  • Application scaling
  • Rolling updates and rollbacks
  • Fundamentals of Kubernetes networking
  • Persistent storage
  • Health checks and application resilience
  • Deploying Docker applications onto Kubernetes
  • Troubleshooting Kubernetes workloads

Advanced Docker Networking

  • Docker networking architecture
  • Bridge, host, overlay, and alternative network drivers
  • Inter-container communication
  • Communication between containers and external systems
  • Creating custom Docker networks
  • Network isolation
  • Service discovery
  • Port publishing and exposure
  • Networking in multi-host setups
  • Troubleshooting Docker networking issues

Docker Security

  • Foundations of Docker security
  • Container isolation and security boundaries
  • Running containers with appropriate privileges
  • User and permission management within containers
  • Linux capabilities and security controls
  • Securing Docker images
  • Scanning images for vulnerabilities
  • Secure secret management
  • Securing Docker registries
  • Network security and isolation
  • Docker daemon security
  • Best practices for container security

Establishing a Continuous Integration Workflow for Docker

  • Introduction to CI for containerized applications
  • Automated building of Docker images
  • Automated testing of Docker images and containers
  • Image tagging and version control
  • Linking source control with Docker builds
  • Automated vulnerability scanning of images
  • Publishing images to registries
  • Management of build artifacts
  • Implementing automated quality checks
  • Designing a reproducible Docker CI pipeline

Integrating Docker Applications into Existing Workflows

  • Integrating Docker with current development workflows
  • Containerizing legacy or existing applications
  • Connecting Docker with CI/CD platforms
  • Managing development, testing, staging, and production environments
  • Automated deployment strategies
  • Configuration management across environments
  • Registry integration
  • Deployment approvals and release management
  • Monitoring application deployments
  • Maintaining consistency across environments

Best Practices for Containers and Orchestration

  • Designing maintainable Docker images
  • Optimizing container startup and performance
  • Container lifecycle management
  • Efficient resource allocation
  • Logging and monitoring strategies
  • Configuration and secret management
  • High availability and fault tolerance
  • Scaling containerized applications
  • Secure container deployment
  • Versioning and release strategies
  • Best practices for orchestration architecture

Troubleshooting

  • Diagnosing container startup failures
  • Analyzing application and container logs
  • Inspecting containers and images
  • Resolving networking issues
  • Addressing storage and volume problems
  • Diagnosing image build failures
  • Troubleshooting Docker Compose applications
  • Investigating resource and performance issues
  • Fundamentals of Kubernetes troubleshooting
  • Practical troubleshooting exercises

Summary and Conclusion

  • Review of core Docker concepts
  • Recap of image creation and container management
  • Review of multi-container application deployment
  • Review of orchestration concepts and Kubernetes
  • Review of Docker networking and security
  • Review of CI/CD integration
  • Best practices for containerization and orchestration
  • Final hands-on exercise
  • Questions and discussion

Requirements

  • Prior hands-on experience with Docker containers.

Audience

  • Developers
  • DevOps engineers
  • System administrators

Number of participants


Price per participant (excl. VAT)

Testimonials (7)

Upcoming Courses

Related Categories