{"id":19818315,"url":"https://github.com/ahmad-alhamoud/docker-guide","last_synced_at":"2026-05-01T21:02:26.943Z","repository":{"id":245108326,"uuid":"817298077","full_name":"ahmad-alhamoud/Docker-Guide","owner":"ahmad-alhamoud","description":null,"archived":false,"fork":false,"pushed_at":"2024-06-19T12:20:13.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T19:59:21.718Z","etag":null,"topics":["container","docker","docker-image","dockercompose","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/ahmad-alhamoud.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-06-19T12:19:08.000Z","updated_at":"2024-07-01T18:31:12.000Z","dependencies_parsed_at":"2024-06-19T22:07:04.315Z","dependency_job_id":null,"html_url":"https://github.com/ahmad-alhamoud/Docker-Guide","commit_stats":null,"previous_names":["ahmad-alhamoud/docker-guide"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ahmad-alhamoud/Docker-Guide","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmad-alhamoud%2FDocker-Guide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmad-alhamoud%2FDocker-Guide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmad-alhamoud%2FDocker-Guide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmad-alhamoud%2FDocker-Guide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahmad-alhamoud","download_url":"https://codeload.github.com/ahmad-alhamoud/Docker-Guide/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmad-alhamoud%2FDocker-Guide/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32512670,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["container","docker","docker-image","dockercompose","dockerfile"],"created_at":"2024-11-12T10:15:18.785Z","updated_at":"2026-05-01T21:02:26.916Z","avatar_url":"https://github.com/ahmad-alhamoud.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker-Guide\n\nDocker Guide A comprehensive guide to understanding and using Docker, covering containers, basic commands, Docker architecture, images, Dockerfile, and Docker Compose.\n\n![Docker-Logo-2](https://github.com/ahmad-alhamoud/Docker-Guide/assets/144995844/04ac74cf-c45d-4e68-bef3-1d15e0bf1c4a)\n\n\n### What is an Image ?\nA Docker image is a read-only template with instructions for creating a Docker container. Images are used to package applications and preconfigured server environments.\n\n### What is a Container ?\nLightweight, standalone and executable software package that includes everything needed to run a piece of software.\n\nContainers are designed to provide a consistent and reproducible environment across different platforms and development stages.\n\nSimplifies development, deployment, and scaling.\n\n### Basic Docker Commands\n\ndocker pull [image]: Pulls an image or a repository from a registry.\n\ndocker run [image]: Runs a command in a new container.\n\ndocker ps: Lists all running containers.\n\ndocker stop [container_id]: Stops a running container.\n\ndocker rm [container_id]: Removes a stopped container.\n\ndocker images: Lists all the local images. docker rmi [image_id]: Removes an image from the local repository.\n\n### Docker Architecture\n\n![docker-architecture](https://github.com/ahmad-alhamoud/Docker-Guide/assets/144995844/45d61277-e7df-4778-b522-3fe5a707dfb9)\n\n\nDocker architecture consists of the following components:\n\nDocker Client: The user interface to Docker. Sends commands to Docker Daemon.\n\nDocker Daemon: Runs on the host machine. Builds, runs, and manages Docker containers.\n\nDocker Images: Read-only templates used to create containers.\n\nDocker Registry: Stores Docker images. Docker Containers: Lightweight, portable encapsulations of an environment in which to run applications.\n\n### Dockerfile\n\nA Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image. It is used to automate the image creation process.\n\n# Here's a basic example of a Dockerfile:\n\nUse an official Python runtime as a parent image\n```FROM python:3.8-slim-buster\n\nSet the working directory\nWORKDIR /app\n\nCopy the current directory contents into the container at /app\nCOPY . /app\n\nInstall any needed packages specified in requirements.txt\nRUN pip install --no-cache-dir -r requirements.txt\n\nMake port 80 available to the world outside this container\nEXPOSE 80\n\nDefine environment variable\nENV NAME World\n\nRun app.py when the container launches\nCMD [\"python\", \"app.py\"]\n```\n\n### Docker Compose File\nDocker Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application's services.\n\nHere’s an example of a docker-compose.yml \n\n![Screenshot (11)](https://github.com/ahmad-alhamoud/Docker-Guide/assets/144995844/78d6932f-2c2b-4206-8fee-05fffeeb9cad)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmad-alhamoud%2Fdocker-guide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmad-alhamoud%2Fdocker-guide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmad-alhamoud%2Fdocker-guide/lists"}