In this course, you’ll learn how to create and manage individual containers using the Docker Engine. We’ll cover best practices in container image design and container deployment and auditing, as well as an introduction to single-node container networking and storage. This course is best practices focused, and is designed to enable rapid successful adoption of containerization from first principles.
Skills Gained
- Containerization motivations and implementation
- Creating, managing and auditing containers
- Best practices in container image design
- Single-host container networking
- Provisioning external storage
Who Can Benefit
- Motivations: Begin creating high performance containers for new or existing applications
- Roles: General technical audiences & IT professionals
Prerequisites
- Familiarity with the bash shell
- Filesystem navigation and manipulation
- Command line text editors like vim or nano
- Common tooling like curl, wget and ping
Lab Requirements
- Laptop with WiFi connectivity
- Attendees should have the latest Chrome or Firefox installed, and a free account at strigo.io
Course Objectives
Containerization motivations and implementation
- Usecases
- Comparison to virtual machines
Creating, managing and auditing containers
- Container implementation from the Linux kernel
- Container lifecycle details
- Core container creation, auditing and management CLI
Best practices in container image design
- Layered filesystem implementation and performance implications
- Creating images with Dockerfiles
- Optimising image builds with multi-stage builds and image design best practices
Single-host container networking
- Docker native networking model
- Software defined networks for containers
- Docker-native single-host service discovery and routing
Provisioning external storage
- Docker volume creation and management
- Best practices and usecases for container-external storage.