Course Description:
This course covers advanced topics related to working with Docker Swarm clusters and Docker images.
Note: Every student has assigned to him his own virtual lab environment setup.
Target audience:
- DevOps engineers
- Linux system administrators
- Systems design engineers
- Architects
Prerequisites:
- Participants must have a basic knowledge of Docker that includes:
- Interacting with Docker containers from the command line (start and stop containers, attach, exec, etc.)
- Working with Docker bridge networks and volumes
- Creating Docker images (Dockerfiles)
- Recommended training: Docker Basics
Curriculum:
Module 1: Building a secure Docker Swarm
- What is Docker Swarm?
- Docker Secure Swarm Cluster
- Docker Modes
- Creating a Swarm Cluster
- Deleting the Swarm
- Orchestration
- Service Types
- Creating, updating, inspecting and deleting a Service
Hands-on Lab: The Lab Environment
Hands-on Lab: Initializing, extending and putting the Docker Swarm to work.
Module 2: Labels and Filters. Working with Secrets
- What are Labels?
- Keys and Values
- Label behavior
- Filtering Images, Containers and other Objects
Hands- on Lab: Labels and Filters
Module 3: Network types. Network services. Load balancing
- Docker Networking
- Swarm Networking
- Mapping Ports in Swarm
- Customizing the Ingress Network
Hands-on Lab: Networking
Module 4: Compose Files & Docker Stack
- Docker Compose vs. Docker Stack
- Installing Docker Compose
- Supported Compose Commands
- Environment Variables
- Docker Stack
- Inspecting the Stack Deployment
- Updating a Running Stack
Hands-on Lab: Compose-files, Docker Stack
Module 5: Advanced Node Management. Constraining container resources. Availability
- Container Resource Restriction
- Swarm - Service Resource Constraints
- Swarm Service Placement Preference
- Auto-Restarting Containers
- Swarm Auto-Restart
- Service Rolling Updates
- Service Rollback
- Health Check
Module 6: Monitoring and Logging. Collecting Metrics. InfluxDB/Grafana and Prometheus
- Logging Plugins
- Simple Monitoring
- Docker Events
- Prometheus – Monitoring the Docker Daemon
- Configuring Prometheus – Docker Engine
- Prometheus – Runtime Metrics, App Metrics
- Running Grafana
- Grafana – Prometheus Configuration
- Configuring Grafana
Hands-on Lab: Configuring Prometheus and Grafana for Monitoring your Swarm
Module 5: Docker Security
- Container Security
- Network Encryption
- Swarm Security
- Secrets
- Securing the Docker Socket
- Docker Bench for Security
Hands-on Lab: Limits, Security
Module 8: Advanced Docker Image Creation. Multi-stage Builds. Automated Builds
- Private Registries
- Containerized Private Registry
- Multi-Stage Builds
- Docker Content Trust
- Signing Images
- Github – Triggered Builds
Hands-on Lab: Image Management
Additional details:
To attend this course, you need to have:
- PC/Laptop with internet access
- Updated web browser