Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud.
This course introduces Docker to an Absolute Beginner using really simple and easy-to-understand lectures. Lectures are followed by demos showing how to set up and get started with Docker. The coding exercises that accompany this course will help you practice Docker commands, develop your own images using Dockerfiles, and practice Docker Compose. You will be developing Docker files for different use cases right in your browser. This way, you don’t really need to have your own environment set up to get some hands-on practice. The coding exercises will validate your commands and Dockerfiles and ensure you have written them correctly.
And finally, we have assignments to put your skills to the test. You will be given the challenge to solve using the skills you gained during this course. This is a great way to gain real-life project experience and work with the other students in the community to develop a Dockerfile and get feedback for your work. The assignment will push you to research and develop your own Docker images.
Docker Course Requirements
1. Basic System Administrator Skills
2. Good to have (Not Mandatory) access to a Linux System to setup Docker to follow along
Overview
Syllabus
- Docker Introduction
- The "Docker Introduction" module provides beginners with an entry point into the world of Docker. Participants will gain an understanding of Docker's fundamentals and its relevance in contemporary software development. This module offers an overview of Docker, explaining its purpose and basic functionalities. Additionally, participants will be guided through a demonstration to install and set up Docker on their systems, laying the groundwork for further exploration of Docker's capabilities.
- Docker Commands
- The "Docker Commands" module focuses on mastering fundamental Docker commands for efficient container management. Participants will learn essential commands and their usage through guided demonstrations, enabling them to navigate Docker environments effectively. Additionally, participants will engage in Docker Labs, providing hands-on experience to reinforce learning and enhance proficiency in executing Docker commands.
- Docker Run
- The "Docker Run" module focuses on the essential Docker Run command for container instantiation. Participants will learn how to use Docker Run to launch and manage containers efficiently. Through guided demonstrations, participants will explore advanced features of Docker Run, enabling them to customize container execution according to specific requirements. Hands-on labs provide participants with practical experience, allowing them to practice Docker Run commands and reinforce their understanding of container deployment and management.
- Docker Images
- In the "Docker Images" module, participants delve into the core concept of Docker Images and their significance in containerization. Through interactive demonstrations, participants learn to create custom Docker Images tailored to specific application requirements. Hands-on labs provide opportunities to explore Docker Images further, focusing on managing images and utilizing environment variables effectively. Participants also gain insights into the difference between commands and entrypoints, enhancing their understanding of Docker container execution.
- Docker Engine and Storage
- The "Docker Engine and Storage" module provides insights into Docker's core components and storage mechanisms. Participants will gain a deep understanding of Docker Engine's architecture and functionality, enabling them to comprehend its role in containerization. Additionally, participants will delve into Docker Storage concepts, such as volumes, bind mounts, and storage drivers, through theoretical explanations and practical demonstrations. Hands-on labs offer participants opportunities to apply their knowledge and skills in managing Docker storage effectively, ensuring optimal performance and reliability in containerized environments.
- Docker Networking and Registry
- The "Docker Networking and Registry" module focuses on essential networking and registry concepts in Docker environments. Participants will learn about Docker Networking and its importance in enabling communication between containers, including various networking modes and configurations. Through hands-on labs, participants will gain practical experience in setting up and managing Docker Networking, ensuring seamless connectivity within containerized applications. Additionally, participants will explore Docker Registry, a central repository for storing and distributing Docker images. Hands-on labs provide participants with opportunities to interact with Docker Registry, facilitating the storage and retrieval of Docker images in real-world scenarios.
- Conculsion
- The "Conclusion" module offers a brief recap of key course concepts
Taught by
Mumshad Mannambeth