Welcome to the Docker Learning Path 🎉
Docker is an open-source platform that enables developers to automate the deployment, scaling, and management of applications using container technology. Containers package an application and its dependencies together, ensuring that it runs consistently across different environments. With Docker, you can easily build, share, and run applications in isolated environments, making development, testing, and deployment more efficient and reliable.
Students are to be divided into groups of 3. These groups should try to progress through the learning process together so that their questions and discussion are on the same wavelength. Each group will be assigned a mentor and will perform code reviews together.
Mentors: A mentor is a more experienced collaborator and/or someone who has already gone through the course. They are in charge of helping their group, answering questions and preventing them from being stuck, as well as keeping track of their progress.
Although we understand that time may be constrained, each student has responsibilities with its groups, namely.
- Try to keep the pace with the group's progress, neither falling too behind or advancing too much by themselves.
- Be courteous and respectful to your peers and mentor.
- Set your progress expectations with your mentor.
- Conduct yourself with integrity and honesty.
A mentor are tasked in ensuring their peers become better professionals, as such, we expect them to:
- Reserve at least 30 minutes per week for each group you mentor, for answering questions and giving feedback.
- Encourage group members and communicate openly.
- Be courteous and respectful to your mentees.
- Ensure code reviews go smoothly: oversee and help, but don't overtake the reviewer's responsibilities.
- Keep track of questions and progress of the group members (see Progress tracking)
- Conduct yourself with integrity and honesty.
In order to help mentors in tracking the progress of their groups, we suggest using the following template:
Tracking questions is important so that we can improve the quality of the selected material, as well as create new ones.
Note: This is just a suggestion. Groups are encouraged to set their own deadlines with their mentors.
(update the hours here)
Week 01 (~x hours)
- Introduction to Docker
- Assignment 1
Week 02 (~x hours)
- Working with images and containers
- Assignment 2
Week 03 (~x hours)
- Dockerfile and custom images
- Assignment 3
Week 04 (~x hours)
- Docker compose
- Assignment 4
Week 05 (~x hours)
- Volumes and persistent data
- Assignment 5
Week 06 (~x hours)
- Networking in Docker
- Assignment 6
Week 07 (~x hours)
- Docker best practices
- Assignment 7
Week 08 (~x hours)
- Docker in production environments
- Assignment 8
Assignments are located in the assignments folder together with the instructions on how to start.