Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sanketbhandare/docker-complete-course
Complete Docker Zero to Hero Course with Practical Sessions & End-to-End Project
https://github.com/sanketbhandare/docker-complete-course
docker docker-compose docker-container docker-image dockerfile
Last synced: 18 days ago
JSON representation
Complete Docker Zero to Hero Course with Practical Sessions & End-to-End Project
- Host: GitHub
- URL: https://github.com/sanketbhandare/docker-complete-course
- Owner: Sanketbhandare
- Created: 2024-12-05T16:50:25.000Z (23 days ago)
- Default Branch: main
- Last Pushed: 2024-12-05T16:55:57.000Z (23 days ago)
- Last Synced: 2024-12-05T17:42:17.266Z (23 days ago)
- Topics: docker, docker-compose, docker-container, docker-image, dockerfile
- Homepage:
- Size: 0 Bytes
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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 `.
- **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 `.
- **List and Remove Images**: `docker images`, `docker rmi `.
- **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 `.
- Link containers via networks.
- **Docker Volumes**: Use volumes to persist data.
- Create and mount volumes: `docker volume create `.
- Attach volumes to containers: `docker run -v :`.---
## **Module 5: Docker Registry & Image Management**
- **Docker Registry**: Docker Hub and private registries.
- **Push/Pull Images**: Push image to Docker Hub (`docker push `), pull image from Docker Hub (`docker pull `).
- **Image Management**: Tag images (`docker tag `), remove unused images (`docker rmi `).---
## **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 .`.
- Push the app image to Docker Hub: `docker push `.
- **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.---