Get in Touch

Course Outline

Introduction

  • Introduction to advanced Docker concepts and operational workflows
  • Revisit of containerization principles and real-world use cases
  • Overview of Docker terminology and essential components
  • Presentation of course goals and the hands-on environment

Overview of Docker Features and Architecture

  • The Docker Engine and its constituent parts
  • Understanding the Docker client, daemon, images, containers, and registries
  • Docker architecture and the container lifecycle
  • Docker Hub and private registry management
  • Advanced CLI fundamentals for Docker users
  • Administration of Docker resources and configuration settings

Setting up Docker

  • Installation of Docker Community Edition
  • Configuration of the Docker environment
  • Verification of the Docker installation status
  • Tailoring Docker for development and testing purposes
  • Management of Docker configuration and storage settings
  • Basics of troubleshooting the Docker environment

Building Your Own Docker Images

  • Comprehending Docker images and layer structure
  • Authoring effective Dockerfiles
  • Dockerfile directives and industry best practices
  • Handling the build context efficiently
  • Image construction and tagging strategies
  • Utilization of the .dockerignore file
  • Optimization of image size and build speed
  • Control of image versions and tags
  • Implementation of multi-stage Docker builds
  • Publication of images to a container registry

Running Multi-Container Docker Applications with Docker Compose

  • Familiarization with Docker Compose
  • Definition of services via Compose files
  • Configuration of networks and volumes
  • Management of environment variables
  • Handling service dependencies and startup sequences
  • Execution and scaling of multiple services
  • Construction of application images using Compose
  • Oversight of application configuration
  • Debugging techniques for multi-container setups
  • Best practices for Docker Compose

The Challenges of Deploying Many Docker Applications

  • Container management across multiple hosts
  • Strategies for application scaling and availability
  • Service discovery mechanisms
  • Load balancing techniques
  • Management of configuration and secrets
  • Addressing persistent storage challenges
  • Monitoring and logging at scale
  • Execution of rolling updates and application deployments
  • Recovery procedures for container and host failures

How Container Orchestration Helps You Maintain Control

  • Introduction to the concept of container orchestration
  • Analysis of orchestration benefits and limitations
  • Comparison of Docker Swarm, Kubernetes, and alternative solutions
  • Scheduling and workload management strategies
  • Service discovery and networking integration
  • Scaling and self-healing application features
  • Implementation of rolling deployments and rollbacks
  • Resource management and workload isolation
  • Selection of an appropriate orchestration platform

Kubernetes in Action

  • Kubernetes architecture and core structural components
  • Understanding Pods, nodes, and clusters
  • Management of Deployments and ReplicaSets
  • Services and service discovery mechanisms
  • Utilization of ConfigMaps and Secrets
  • Namespaces and resource organization
  • Application scaling techniques
  • Rolling updates and rollback processes
  • Foundations of Kubernetes networking
  • Persistent storage integration
  • Health checks and application resilience strategies
  • Deployment of Docker applications to Kubernetes
  • Troubleshooting methods for Kubernetes workloads

Advanced Docker Networking

  • Architecture of Docker networking
  • Analysis of Bridge, host, overlay, and other network drivers
  • Communication protocols between containers
  • Interaction between containers and external systems
  • Creation of custom Docker networks
  • Implementation of network isolation
  • Service discovery techniques
  • Port publishing and exposure strategies
  • Networking in multi-host environments
  • Diagnosis of Docker networking issues

Docker Security

  • Foundations of Docker security
  • Container isolation and security boundary definition
  • Execution of containers with appropriate privilege levels
  • User and permission management within containers
  • Application of Linux capabilities and security controls
  • Protection of Docker images
  • Scanning images for vulnerabilities
  • Secure management of secrets
  • Hardening of Docker registries
  • Network security and isolation measures
  • Security of the Docker daemon
  • Adoption of container security best practices

Setting up a Continuous Integration Workflow for Docker Applications

  • Introduction to CI for containerized applications
  • Automation of Docker image building
  • Automated testing of Docker images and containers
  • Image tagging and version control strategies
  • Integration of source control with Docker builds
  • Automation of image vulnerability scanning
  • Publication of images to registries
  • Management of build artifacts
  • Implementation of automated quality checks
  • Design of a repeatable Docker CI pipeline

Integrating Docker Applications into an Existing Workflow

  • Integration of Docker with current development workflows
  • Containerization of legacy applications
  • Connection of Docker with CI/CD platforms
  • Management of development, testing, staging, and production environments
  • Automation of deployment strategies
  • Configuration management across various environments
  • Registry integration techniques
  • Deployment approvals and release management
  • Monitoring of application deployments
  • Maintenance of consistency across environments

Container and Orchestration Best Practices

  • Design of maintainable Docker images
  • Optimization of container startup and performance
  • Management of the container lifecycle
  • Efficient resource allocation
  • Strategies for logging and monitoring
  • Management of configuration and secrets
  • Ensuring high availability and fault tolerance
  • Scaling of containerized applications
  • Secure deployment of containers
  • Versioning and release strategy implementation
  • Best practices for orchestration architecture

Troubleshooting

  • Diagnosis of container startup failures
  • Investigation of application and container logs
  • Inspection of containers and images
  • Resolution of networking issues
  • Fixing storage and volume problems
  • Diagnosis of image build failures
  • Troubleshooting Docker Compose applications
  • Investigation of resource and performance bottlenecks
  • Basics of Kubernetes troubleshooting
  • Practical troubleshooting exercises

Summary and Conclusion

  • Recap of key Docker concepts
  • Review of image creation and container management
  • Assessment of multi-container application deployment
  • Summary of orchestration concepts and Kubernetes
  • Review of Docker networking and security protocols
  • Assessment of CI/CD integration
  • Reiteration of containerization and orchestration best practices
  • Final hands-on exercise
  • Open Q&A and discussion

Requirements

  • Prior hands-on experience with Docker containers.

Target Audience

  • Developers
  • DevOps engineers
  • System administrators
 14 Hours

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories