Get in Touch

Course Outline

Introduction

  • Overview of advanced Docker concepts and workflows
  • Revisit of containerization principles and applicable use cases
  • Docker terminology and core components
  • Summary of course objectives and the hands-on learning environment

Overview of Docker Features and Architecture

  • Docker Engine and its constituent parts
  • Docker client, daemon, images, containers, and registries
  • Docker architecture and the container lifecycle
  • Docker Hub and private registry solutions
  • Docker CLI essentials for advanced users
  • Administration of Docker resources and configurations

Setting up Docker

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

Building Your Own Docker Images

  • Comprehension of Docker images and layering
  • Writing efficient Dockerfiles
  • Dockerfile instructions and industry best practices
  • Management of build context
  • Building and tagging images
  • Utilizing the .dockerignore file
  • Optimization of image size and build performance
  • Managing image versions and tagging strategies
  • Multi-stage Docker builds
  • Publishing images to a container registry

Running Multi-Container Docker Applications with Docker Compose

  • Introduction to Docker Compose
  • Definition of services using Compose files
  • Configuration of networks and volumes
  • Management of environment variables
  • Service dependencies and startup sequencing
  • Execution and scaling of multiple services
  • Building application images via Compose
  • Managing application configuration
  • Debugging multi-container applications
  • Best practices for Compose implementation

The Challenges of Deploying Many Docker Applications

  • Managing containers across distributed hosts
  • Application scaling and availability strategies
  • Service discovery mechanisms
  • Load balancing techniques
  • Configuration and secret management
  • Challenges related to persistent storage
  • Monitoring and logging at scale
  • Rolling updates and application deployment processes
  • Recovery procedures for container and host failures

How Container Orchestration Helps You Maintain Control

  • Introduction to container orchestration concepts
  • Advantages and limitations of orchestration systems
  • Comparison of Docker Swarm, Kubernetes, and alternative solutions
  • Scheduling and workload management
  • Service discovery and networking
  • Application scaling and self-healing capabilities
  • Rolling deployments and rollback procedures
  • Resource management and workload isolation
  • Selecting the appropriate orchestration platform

Kubernetes in Action

  • Kubernetes architecture and core components
  • Pods, nodes, and cluster management
  • Deployments and ReplicaSets
  • Services and service discovery
  • ConfigMaps and Secrets management
  • Namespaces and resource organization
  • Application scaling techniques
  • Rolling updates and rollback strategies
  • Foundations of Kubernetes networking
  • Persistent storage integration
  • Health checks and application resilience
  • Deploying Docker applications to Kubernetes
  • Troubleshooting Kubernetes workloads

Advanced Docker Networking

  • Docker networking architecture
  • Bridge, host, overlay, and other network drivers
  • Container-to-container communication
  • Interaction between containers and external systems
  • Creation of custom Docker networks
  • Network isolation techniques
  • Service discovery methods
  • Port publishing and exposure strategies
  • Networking in multi-host environments
  • Troubleshooting Docker networking issues

Docker Security

  • Foundations of Docker security
  • Container isolation and security boundaries
  • Executing containers with appropriate privilege levels
  • Managing users and permissions within containers
  • Linux capabilities and security controls
  • Securing Docker images
  • Vulnerability scanning of images
  • Secure management of secrets
  • Securing Docker registries
  • Network security and isolation measures
  • Docker daemon security hardening
  • Best practices for container security

Setting up a Continuous Integration Workflow for Docker Applications

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

Integrating Docker Applications into an Existing Workflow

  • Integration of Docker with current development workflows
  • Containerization of existing applications
  • Integration of Docker with CI/CD platforms
  • Management of development, testing, staging, and production environments
  • Automated deployment strategies
  • Configuration management across various environments
  • Registry integration
  • 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
  • Container lifecycle management
  • Effective 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
  • Orchestration architecture best practices

Troubleshooting

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

Summary and Conclusion

  • Review of key Docker concepts
  • Review 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
  • Containerization and orchestration best practices
  • Final hands-on exercise
  • Open discussion and Q&A

Requirements

  • Prior experience in working with Docker containers is required.

Target Audience

  • Software Developers
  • DevOps Engineers
  • System Administrators
 14 Hours

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories