{"id":22764573,"url":"https://github.com/sanketbhandare/docker-complete-course","last_synced_at":"2026-05-13T07:03:07.625Z","repository":{"id":266709980,"uuid":"899119114","full_name":"Sanketbhandare/Docker-Complete-Course","owner":"Sanketbhandare","description":"Complete Docker Course with Practical Sessions \u0026 Real-Time Project","archived":false,"fork":false,"pushed_at":"2024-12-05T16:55:57.000Z","size":3,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T10:14:05.884Z","etag":null,"topics":["docker","docker-compose","docker-container","docker-image","dockerfile"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sanketbhandare.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-05T16:50:25.000Z","updated_at":"2024-12-05T17:44:28.000Z","dependencies_parsed_at":"2024-12-05T17:42:30.695Z","dependency_job_id":"d4bc3204-9acb-4e6a-86fe-08151e1f03d1","html_url":"https://github.com/Sanketbhandare/Docker-Complete-Course","commit_stats":null,"previous_names":["sanketbhandare/docker-complete-course"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Sanketbhandare/Docker-Complete-Course","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanketbhandare%2FDocker-Complete-Course","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanketbhandare%2FDocker-Complete-Course/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanketbhandare%2FDocker-Complete-Course/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanketbhandare%2FDocker-Complete-Course/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sanketbhandare","download_url":"https://codeload.github.com/Sanketbhandare/Docker-Complete-Course/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanketbhandare%2FDocker-Complete-Course/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32971672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T06:31:55.726Z","status":"ssl_error","status_checked_at":"2026-05-13T06:31:51.336Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","docker-container","docker-image","dockerfile"],"created_at":"2024-12-11T12:09:15.323Z","updated_at":"2026-05-13T07:03:07.601Z","avatar_url":"https://github.com/Sanketbhandare.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Complete Docker | Zero to Hero Course |\n\nComplete Docker Zero to Hero Course with Practical Sessions \u0026 End-to-End Project. Keep Learning!\n\n---\n\n### Course Requirements:\n 1. **Laptop (with admin privileges)**\n 2. **Desire to Learn**.\n\n---\n\n## **Module 1: Docker Basics**\n- **What is Docker?**: Overview of containers vs VMs.\n- **Install Docker**: Set up Docker on Windows/macOS/Linux.\n- **Run Containers**: Start a container using `docker run \u003cimage\u003e`.\n- **Container Lifecycle**: Manage containers (`docker ps`, `docker stop`, `docker rm`).\n\n---\n\n## **Module 2: Docker Images**\n- **What are Docker Images?**: Layers, file system, and reusable components.\n- **Pull Images**: `docker pull \u003cimage-name\u003e`.\n- **List and Remove Images**: `docker images`, `docker rmi \u003cimage-name\u003e`.\n- **Create Custom Images**: Build images using a `Dockerfile`.\n\n---\n\n## **Module 3: Dockerfile \u0026 Multi-Stage Builds**\n- **Dockerfile Basics**: Instructions like `FROM`, `RUN`, `COPY`, `CMD`.\n- **Efficient Image Creation**: Automate build processes using Dockerfile.\n- **Multi-Stage Builds**: Optimize image size by using multiple stages in a Dockerfile.\n\n---\n\n## **Module 4: Docker Networking and Volumes**\n- **Docker Networking**: Understand bridge, host, and custom networks.\n  - Create custom networks: `docker network create \u003cnetwork-name\u003e`.\n  - Link containers via networks.\n- **Docker Volumes**: Use volumes to persist data.\n  - Create and mount volumes: `docker volume create \u003cvolume-name\u003e`.\n  - Attach volumes to containers: `docker run -v \u003cvolume-name\u003e:\u003cpath\u003e`.\n\n---\n\n## **Module 5: Docker Registry \u0026 Image Management**\n- **Docker Registry**: Docker Hub and private registries.\n- **Push/Pull Images**: Push image to Docker Hub (`docker push \u003cimage-name\u003e`), pull image from Docker Hub (`docker pull \u003cimage-name\u003e`).\n- **Image Management**: Tag images (`docker tag \u003csource\u003e \u003ctarget\u003e`), remove unused images (`docker rmi \u003cimage-name\u003e`).\n\n---\n\n## **Module 6: Docker Compose**\n- **Introduction to Docker Compose**: Manage multi-container apps with `docker-compose.yml`.\n- **Start and Stop Containers**: `docker-compose up`, `docker-compose down`.\n- **Scaling Containers**: Define multiple instances of a service in Compose.\n\n---\n\n## **Module 7: Docker Image Scanning \u0026 Security**\n- **Image Scanning**: Use tools like Clair or Trivy to scan Docker images for vulnerabilities.\n- **Security Best Practices**:\n  - Use trusted base images.\n  - Avoid running containers as root.\n  - Use Docker Content Trust (DCT) to sign images.\n  - Regularly update images to patch security vulnerabilities.\n\n---\n\n## **Module 8: End-to-End Project: Dockerized Web App**\n- **Step 1: Create a Simple Web App**:\n  - Choose a language (e.g., Python Flask or Node.js) and build a basic web app.\n  - Write a Dockerfile to containerize the app.\n- **Step 2: Set Up Docker Compose**:\n  - Add a database (e.g., MySQL or MongoDB) using Docker Compose.\n  - Define multi-container services in `docker-compose.yml`.\n  - Link the web app and database using Docker networks.\n- **Step 3: Automate Builds**:\n  - Build the image: `docker build -t \u003capp-name\u003e .`.\n  - Push the app image to Docker Hub: `docker push \u003cimage-name\u003e`.\n- **Step 4: Deploy with CI/CD**:\n  - Set up a simple Jenkins/GitLab pipeline to automate the build, test, and deployment.\n  - Use Docker to deploy the app on a cloud server (e.g., AWS, Azure).\n\n---\n\n## **Module 9: Final Project**\n- **Create a Complete Dockerized Application**:\n  - Build and deploy a multi-container app (e.g., a web app with backend and database).\n  - Use Docker Compose for orchestration.\n  - Implement a CI/CD pipeline to automate testing and deployment.\n  - Scan Docker images for vulnerabilities and apply security measures.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanketbhandare%2Fdocker-complete-course","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanketbhandare%2Fdocker-complete-course","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanketbhandare%2Fdocker-complete-course/lists"}