Skip to content

Complete Docker Course with Practical Sessions & Real-Time Project

Notifications You must be signed in to change notification settings

Sanketbhandare/Docker-Complete-Course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Complete Docker | Zero to Hero Course |

Complete Docker Zero to Hero Course with Practical Sessions & End-to-End Project. Keep Learning!


Course Requirements:

  1. Laptop (with admin privileges)
  2. Desire to Learn.

Module 1: Docker Basics

  • What is Docker?: Overview of containers vs VMs.
  • Install Docker: Set up Docker on Windows/macOS/Linux.
  • Run Containers: Start a container using docker run <image>.
  • Container Lifecycle: Manage containers (docker ps, docker stop, docker rm).

Module 2: Docker Images

  • What are Docker Images?: Layers, file system, and reusable components.
  • Pull Images: docker pull <image-name>.
  • List and Remove Images: docker images, docker rmi <image-name>.
  • Create Custom Images: Build images using a Dockerfile.

Module 3: Dockerfile & Multi-Stage Builds

  • Dockerfile Basics: Instructions like FROM, RUN, COPY, CMD.
  • Efficient Image Creation: Automate build processes using Dockerfile.
  • Multi-Stage Builds: Optimize image size by using multiple stages in a Dockerfile.

Module 4: Docker Networking and Volumes

  • Docker Networking: Understand bridge, host, and custom networks.
    • Create custom networks: docker network create <network-name>.
    • Link containers via networks.
  • Docker Volumes: Use volumes to persist data.
    • Create and mount volumes: docker volume create <volume-name>.
    • Attach volumes to containers: docker run -v <volume-name>:<path>.

Module 5: Docker Registry & Image Management

  • Docker Registry: Docker Hub and private registries.
  • Push/Pull Images: Push image to Docker Hub (docker push <image-name>), pull image from Docker Hub (docker pull <image-name>).
  • Image Management: Tag images (docker tag <source> <target>), remove unused images (docker rmi <image-name>).

Module 6: Docker Compose

  • Introduction to Docker Compose: Manage multi-container apps with docker-compose.yml.
  • Start and Stop Containers: docker-compose up, docker-compose down.
  • Scaling Containers: Define multiple instances of a service in Compose.

Module 7: Docker Image Scanning & Security

  • Image Scanning: Use tools like Clair or Trivy to scan Docker images for vulnerabilities.
  • Security Best Practices:
    • Use trusted base images.
    • Avoid running containers as root.
    • Use Docker Content Trust (DCT) to sign images.
    • Regularly update images to patch security vulnerabilities.

Module 8: End-to-End Project: Dockerized Web App

  • Step 1: Create a Simple Web App:
    • Choose a language (e.g., Python Flask or Node.js) and build a basic web app.
    • Write a Dockerfile to containerize the app.
  • Step 2: Set Up Docker Compose:
    • Add a database (e.g., MySQL or MongoDB) using Docker Compose.
    • Define multi-container services in docker-compose.yml.
    • Link the web app and database using Docker networks.
  • Step 3: Automate Builds:
    • Build the image: docker build -t <app-name> ..
    • Push the app image to Docker Hub: docker push <image-name>.
  • Step 4: Deploy with CI/CD:
    • Set up a simple Jenkins/GitLab pipeline to automate the build, test, and deployment.
    • Use Docker to deploy the app on a cloud server (e.g., AWS, Azure).

Module 9: Final Project

  • Create a Complete Dockerized Application:
    • Build and deploy a multi-container app (e.g., a web app with backend and database).
    • Use Docker Compose for orchestration.
    • Implement a CI/CD pipeline to automate testing and deployment.
    • Scan Docker images for vulnerabilities and apply security measures.

About

Complete Docker Course with Practical Sessions & Real-Time Project

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published