- Suggested Duration
- 2 days
- Participants
- Class of 12 or less
Mastering Docker
Master the craft of containerizing your applications using Docker.
-
Anand Chitipothu
@anandology
Trainer
Please write to us at hello@pipal.in if you would like this course to be conducted at your organization.
A hands on workshop for dive deep into the world of containers.
Workshop Objectives
At the end of the workshop, you’ll be able to:
- Understand the fundamentals of containers
- Build docker images
- Containerize an existing application
- Use docker-compose to run multi-container applications
Audience
The course is designed for professional software developers and devops engineers interested to build containerized applications.
Pre-requisites
This course assumes that the participants have experience working with unix systems and deploying software on unix servers.
Course Outline
Session 1: Introduction to Docker
- Overview of Docker
- Overview of images, containers and registry
- Running simple docker containers
Session 2: Building Docker Images
- Building docker images using Dockerfile
- Pushing images to Docker Registry
Session 3: Running Docker Containers
- Using volumes to persist data
- Using environment variables
- Exposing ports
- Understanding Docker networking
Session 4: Troubleshooting
- Inspecting containers
- Troubleshooting live containers
- Managing Logs
Session 5: Advanced Patterns
- Inspecting docker images
- Optimizing the size of docker images
- multi-stage docker build
- Docker build arguments
Session 6: Deploy multi-container applications
- Introduction to docker-compose
- Deploying multi-container applications using docker-compose
Session 7: Docker in Production
- Introduction to Kubernetes
- Managed services for running containers
Session 8: Best Practices
- Repository Organization
- Building docker images in CI/CD
Duration & Format
The suggested duration of the course is 2 days.
This is an interactive course and it is suggested to limit the number of participants to 12 or less for it to be effective.
The class time is spent on live demonstration of concepts using examples and hands-on programming exercises. Participants typically spend 50% of the time each day in practice sessions.
Reading material will be provided along with practice problems and references.
Infrastructure
- A virtual machine with docker pre-installed will be provided to every participant during the workshop
Trainer
Anand Chitipothu
Anand has been crafting beautiful software since two decades. He has strong product development experience with deep insights in system design, scalability, and developer experience. He has co-authored web.py, a micro web framework in Python, built Open Library at the Internet Archive, created a machine learning platform at Rorodata, trained hundreds of engineers through his deep-dive courses.