This course is designed for a beginner software developer who wants to gain a comprehensive understanding of Docker and Containerization. Some software development experience is recommended, but no previous experience in Docker or Containerization is needed. This course will help you improve your workflow and deployment process.
In Module 1, you'll learn to identify fundamental concepts of containerization and the benefits of Docker in the software development lifecycle. You'll see how to create a basic Dockerfile and build a Docker image.
In Module 2, you'll learn to evaluate container logs and performance, and to implement data persistence and networking between Docker containers.
In Module 3, you'll learn to design a multi-container application, optimize Docker images, and deploy a multi-service application using Docker Compose.
Demonstration videos walk you through essential tasks in the Docker environment, and a variety of ungraded and graded activities will help you make sure you're on track.
By the end of this course, learners will be able to:
- Compare and contrast the differences between a Docker image and a Docker container
- Describe a Dockerfile and how it is used within Docker, and the steps in getting started with Docker
- Compare Docker with traditional virtualization methods
- Describe the tools, technologies, and platforms of the Docker ecosystem and the benefits of using Docker
- Explain how monitoring and logging are crucial to managing a Docker container
- Describe data persistence and networking between Docker Containers
- Recall the lifecycle of Docker containers
- List several Docker commands used to manage containers and images, and some of the additional measures you can implement to protect your Docker application
- Describe some best practices for securing and optimizing Docker containers
- List the steps required to design and deploy a multi-container application using Docker Compose
- Identify some of the key features and concepts of Docker Compose in orchestrating containers
Welcome to Docker!
Overview
Syllabus
- Welcome & Module 1 : Welcome to Containerization and Docker
- This module provides a comprehensive understanding of containerization fundamentals, enabling you to grasp essential concepts. You will recognize Docker's role in software development, appreciating its benefits across the development lifecycle. The module also facilitates a concise comparison between Docker and traditional virtualization methods. Through hands-on experience, you will learn to craft Dockerfiles and build customized Docker images, setting the stage for proficient containerized application development.
- Module 2: Managing Docker Containers & Images
- This module focuses on mastering Docker container and image management through command-line operations. You will learn to navigate the life cycle of Docker containers, ensuring efficient creation, deployment, and termination. The module also covers data persistence strategies, enabling seamless networking between containers, and utilizing Docker's built-in tools for assessing container logs and performance. By the module's conclusion, you will be adept at proficiently managing containers, fostering smooth communication between them, and effectively evaluating their operational health.
- Module 3: Orchestrating Multi-Container Applications with Docker
- This module focuses on building multi-container applications with Docker Compose, emphasizing orchestration. You will analyze Docker Compose files and their role in coordinating services, while also learning to optimize Docker images for size, security, and efficiency. Through practical exercises, you will create and deploy multi-service applications, gaining proficiency in Docker Compose application for managing interconnected containers.
Taught by
Alok Agrawal