Course content of Docker
Introduction to Docker
- Understanding Service Oriented Architecture (SOA)
- Understanding Microservice Architecture
- What is Container?
- Benefits of Container
- Evolution of Containers
- What is Docker?
- History of Docker
- What is Open Container Initiative (OCI)?
- What is the Purpose of Open Container Initiative (OCI)?
- What is Moby?
Key Components in Docker
- Docker Image
- Docker Network
- Docker Storage
- Docker Container
- Docker Compose
Overview of Docker
- Architecture of Docker-managed Containers
- Docker Client
- Docker Daemon
- Docker Image
- Docker Container
- Docker Network
- Docker Storage
- Docker Registry
- Container vs VM
FAQ on Docker
Prerequisites for Docker
- Understanding JSON
Setup Docker
- What is Containerd?
- Install Docker
- Significance of Docker Programs
- Manage Docker
- Deep Dive into Docker
Configure Docker
- Understanding Docker Configurations
- Change Storage & Log Driver of Docker
- Apply Configuration Changes to Docker
- Understanding Docker System Paths
Docker Image
- What is the Purpose of Docker Image?
- Deriving Docker Images
- Tree Structure of Derived Docker Images
- Benefits of Deriving Docker Images
- Build Docker Image Manually
- Understanding Dockerfile
- Automate Build of Docker Images Using Dockerfile
- Manage Docker Images
- Deep Dive into Docker Image
- Do's and Dont's with Docker Image
Docker Network
- What is Container Network Model (CNM)?
- What is the Purpose of Docker Network?
- Types of Docker Network
- How to Choose a Docker Network?
- Manage Docker Networks
- Using Host Docker Network
- Using None Docker Network
- Using Bridge Docker Network
- Using IPvlan Docker Network
- Using Macvlan Docker Network
Docker Storage
- What is the Purpose of Docker Storage?
- Types of Docker Storage
- How to Choose a Docker Storage?
- Manage Docker Storage
- Using Volume Docker Storage
- Using Bind Mount Docker Storage
- Using Tmpfs Mount Docker Storage
Docker Container
- What is the Purpose of Docker Container?
- Understanding Docker Container
- How Docker Container is Created?
- How Docker Container Lifecycle is Controlled?
- Analyzing Docker Container Configurations
- What is Supervisor?
- Managing Microservices within Docker Container Using Supervisor
- Design Highly Scalable Docker Container
- Provision Docker Containers Manually
- Manage Docker Containers
- Deep Dive into Docker Container
- Do's and Dont's with Docker Container
Docker Compose
- Understanding YAML
- What is the Purpose of Docker Compose?
- Install Docker Compose
- Understanding Docker Compose YAML
- Structure of Docker Compose YAML
- Automated/Orchestrated Provisioning of Docker Containers Using Docker Compose
- Manage Docker Containers Using Docker Compose
Case Studies
- How We Implemented SloopEngine Multi-Pod Architecture on Docker Containers
- How We Scaled Multi-Environment on Docker for Leading Product Startup
Project on Docker
Interview on Docker
Prerequisites
- A machine running Linux Ubuntu 18.04 LTS as host operating system. Don't panic, we'll help you in this.
- Machine hardware requirements are minimum 12GB RAM, 4 CPU cores, and 100GB storage.
- Must have exceptional knowledge on Linux-based operating systems and it's commands.
- Must have good understanding and hands-on with Docker.
Objective
The main objective of the Docker course is to help you deploy a sample CRM app service and Redis database service on Docker containers. The CRM app is built on Python Flask micro framework and uses Redis as a database.
Audience
Anyone from the IT/software industry who is passionate and willing to containerize apps/microservices can start learning Docker. It doesn't matter whether you are a fresher or an experienced candidate, we always start from ground zero.
Activities
- You do hands-on from day one.
- We do digital whiteboarding to make you understand concepts and real-time implementations.
- You can ask questions, participate in discussions, and get solutions for complex problems.
- We deal with a variety of use cases and case studies.
- We do deep diving on all topics.