{"id":20931762,"url":"https://github.com/prasad89/dind-ubuntu-nvidia","last_synced_at":"2025-04-11T13:25:23.568Z","repository":{"id":245806639,"uuid":"819287141","full_name":"prasad89/dind-ubuntu-nvidia","owner":"prasad89","description":"Ubuntu-based Docker-in-Docker (DinD) environment for containerized development with NVIDIA container runtime support","archived":false,"fork":false,"pushed_at":"2024-10-15T08:57:05.000Z","size":11,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T09:49:19.854Z","etag":null,"topics":["dind","docker","docker-in-docker","nvidia","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","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/prasad89.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-24T07:57:13.000Z","updated_at":"2025-02-13T23:03:56.000Z","dependencies_parsed_at":"2024-06-24T09:25:52.131Z","dependency_job_id":"a11aca45-75ad-409e-b340-b2e82a44556f","html_url":"https://github.com/prasad89/dind-ubuntu-nvidia","commit_stats":null,"previous_names":["prasad89/dind-ubuntu-nvidia"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prasad89%2Fdind-ubuntu-nvidia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prasad89%2Fdind-ubuntu-nvidia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prasad89%2Fdind-ubuntu-nvidia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prasad89%2Fdind-ubuntu-nvidia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prasad89","download_url":"https://codeload.github.com/prasad89/dind-ubuntu-nvidia/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248409369,"owners_count":21098768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["dind","docker","docker-in-docker","nvidia","ubuntu"],"created_at":"2024-11-18T21:45:32.064Z","updated_at":"2025-04-11T13:25:23.529Z","avatar_url":"https://github.com/prasad89.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ubuntu-based Docker-in-Docker (DinD) Environment with NVIDIA Container Runtime Support\n\n## Overview\nThis repository offers an Ubuntu-based Docker-in-Docker (DinD) environment tailored for containerized development, enriched with NVIDIA container runtime support. The base image is crafted on Ubuntu 24.10.\n\n## Features\n- **Ubuntu 24.10**: Built on the latest stable Ubuntu LTS platform for reliability and long-term support.\n- **Docker-in-Docker (DinD)**: Enables nested Docker containerization, ideal for CI/CD pipelines and advanced development workflows.\n- **NVIDIA Container Runtime**: Facilitates execution of GPU-accelerated applications leveraging NVIDIA GPUs for enhanced performance.\n\n## Usage\n\n### Pull the Image\nTo obtain the pre-built Docker image from Docker Hub, execute the following command:\n\n```sh\ndocker pull ghcr.io/prasad89/dind-ubuntu-nvidia\n```\n\n### Run the Container\n\n#### Standard (Non-GPU) Usage\nFor standard Docker operations without GPU support:\n\n```sh\ndocker run -it --rm --privileged ghcr.io/prasad89/dind-ubuntu-nvidia\n```\n\n#### GPU-Accelerated Usage\nTo utilize NVIDIA GPU support within the Docker environment:\n\n```sh\ndocker run -it --rm --privileged --gpus all ghcr.io/prasad89/dind-ubuntu-nvidia\n```\n\nReplace `--gpus all` with specific GPU settings (`--gpus device=0,1`) as per your hardware configuration.\n\n#### Deploying in Kubernetes\nTo deploy the container in a Kubernetes cluster:\n \n```sh\nkubectl apply -f https://raw.githubusercontent.com/prasad89/dind-ubuntu-nvidia/main/k8s-deployement.yml\n```\n\n### Using the Makefile\n\nThis repository includes a Makefile to simplify building, running, pulling, and pushing the Docker image. Below are the available commands:\n\n#### Build the Docker Image\n```sh\nmake build\n```\n\nBy default, this `make` command builds a multiple architecture image using `buildx`. Make sure you have a compatible `buildx` driver installed to run this.\n\nOptionally, if you don't want to build for multiple architectures, you can simply run: `docker build -f Dockerfile -t REGISTRY_PREFIX/IMAGE_NAME:TAG .`\n\n#### Run the Container in Standard Mode (without GPU)\n```sh\nmake run_standard\n```\n\n#### Run the Container with GPU Support\n```sh\nmake run_gpu\n```\n\n#### Pull the Docker Image from the Registry\n```sh\nmake pull\n```\n\n#### Push the Docker Image to the Registry\n```sh\nmake push\n```\n\n#### Build and Run the Docker Image in Standard Mode\n```sh\nmake build_run_standard\n```\n\n#### Build and Run the Docker Image with GPU Support\n```sh\nmake build_run_gpu\n```\n\n#### Build and Push the Docker Image to the Registry\n```sh\nmake build_push\n```\n\n#### Deploy the Container in Kubernetes\n```sh\nmake k8s_deploy\n```\n\n### Customizing the Makefile\n\nIf you need to customize the image name, tag, or registry prefix, you can modify the variables in the Makefile:\n\n- **IMAGE_NAME**: The name of the Docker image (default: `dind-ubuntu-nvidia`).\n- **TAG**: The tag for the Docker image (default: `latest`).\n- **REGISTRY_PREFIX**: The registry prefix where the image is stored (default: `ghcr.io/prasad89`).\n- **GPU_COUNT**: The number of GPUs to use (default: `all`). Adjust this as needed for your specific setup.\n- **PLATFORM**: The platforms for which the Docker image is built (default: `linux/amd64,linux/arm64`).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprasad89%2Fdind-ubuntu-nvidia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprasad89%2Fdind-ubuntu-nvidia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprasad89%2Fdind-ubuntu-nvidia/lists"}