{"id":13446811,"url":"https://github.com/matifali/dockerdl","last_synced_at":"2025-04-10T10:14:39.802Z","repository":{"id":153208063,"uuid":"536311516","full_name":"matifali/dockerdl","owner":"matifali","description":"Deep Learning Docker Image","archived":false,"fork":false,"pushed_at":"2024-09-19T12:40:32.000Z","size":192,"stargazers_count":80,"open_issues_count":2,"forks_count":10,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-22T21:46:45.250Z","etag":null,"topics":["cuda","deep-learning","docker","jupyter","numpy","python","pytorch","tensorflow"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/matifali/dockerdl","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matifali.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":"matifali","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-09-13T21:16:27.000Z","updated_at":"2025-03-14T07:34:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"5d6ff2df-7e31-4892-b107-2f82c13816c5","html_url":"https://github.com/matifali/dockerdl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matifali%2Fdockerdl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matifali%2Fdockerdl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matifali%2Fdockerdl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matifali%2Fdockerdl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matifali","download_url":"https://codeload.github.com/matifali/dockerdl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248198892,"owners_count":21063628,"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":["cuda","deep-learning","docker","jupyter","numpy","python","pytorch","tensorflow"],"created_at":"2024-07-31T05:01:00.554Z","updated_at":"2025-04-10T10:14:39.774Z","avatar_url":"https://github.com/matifali.png","language":"Dockerfile","readme":"# DockerDL [![Docker Build](https://github.com/matifali/dockerdl/actions/workflows/docker-publish.yml/badge.svg)](https://github.com/matifali/dockerdl/actions/workflows/docker-publish.yml) ![Docker Pulls](https://img.shields.io/docker/pulls/matifali/dockerdl) \u003ca href='https://hub.docker.com/r/matifali/dockerdl' target=\"_blank\"\u003e\u003cimg alt='DockerHub' src='https://img.shields.io/badge/DockerHub-100000?logoColor=0000FF\u0026labelColor=0000FF\u0026color=0000FF'/\u003e\u003c/a\u003e\n\n![DALL·E A wide-screen, imaginative illustration of a whale engaged in machine learning activities, featuring a large container to symbolize Docker](https://github.com/matifali/dockerdl/assets/10648092/1f814829-b28c-4a35-ab0a-8cd01a7fcd44)\n\n## Deep Learning Docker Image\n\nDon't waste time on setting up a deep learning environment while you can get a deep learning environment with everything pre-installed.\n\n## List of Packages installed\n\n- [conda](https://docs.conda.io/en/latest/miniconda.html)\n- [Jupyter lab](https://jupyter.org/)\n- [Matplotlib](https://matplotlib.org/)\n- [NLTK](https://www.nltk.org/)\n- [Numpy](https://numpy.org/)\n- [Pandas](https://pandas.pydata.org/)\n- [Plotly](https://plotly.com/)\n- [PyTorch](https://pytorch.org/)\n- [Scikit-Learn](https://scikit-learn.org/)\n- [Seaborn](https://seaborn.pydata.org/)\n- [TensorFlow](https://www.tensorflow.org/)\n- [zellij](https://github.com/zellij-org/zellij)\n\n## Image variants and tags\n\n| Variant                      | Tag                  | Conda              | PyTorch            | TensorFlow         | Image size                                                                                                                       |\n| ---------------------------- | -------------------- | ------------------ | ------------------ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------- |\n| Conda                        | `conda`              | :heavy_check_mark: | :x:                | :x:                | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/matifali/dockerdl/conda?style=for-the-badge\u0026label=)          |\n| Tensorflow                   | `tf`                 | :x:                | :x:                | :heavy_check_mark: | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/matifali/dockerdl/tf?style=for-the-badge\u0026label=)             |\n| PyTorch                      | `torch`              | :x:                | :heavy_check_mark: | :x:                | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/matifali/dockerdl/torch?style=for-the-badge\u0026label=)          |\n| PyTorch + Tensorflow         | `tf-torch`, `latest` | :x:                | :heavy_check_mark: | :heavy_check_mark: | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/matifali/dockerdl/tf-torch?style=for-the-badge\u0026label=)       |\n| PyTorch + Tensorflow + Conda | `tf-torch-conda`     | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/matifali/dockerdl/tf-torch-conda?style=for-the-badge\u0026label=) |\n\nYou can see the full list of tags [https://hub.docker.com/r/matifali/dockerdl/tags](https://hub.docker.com/r/matifali/dockerdl/tags?page=1\u0026ordering=last_updated).\n\n## Requirements\n\n1. [Docker](https://docs.docker.com/engine/install/)\n2. [nvidia-container-toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html) [^1]\n3. Linux, or Windows with [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install)\n\n## Fast Start\n\n```shell\ndocker run --gpus all --rm -it -h dockerdl matifali/dockerdl bash\n```\n\n### JupyterLab server without conda\n\n```shell\ndocker run --gpus all --rm -it -h dockerdl -p 8888:8888 matifali/dockerdl jupyter lab --no-browser --port 8888 --ServerApp.token='' --ip='*'\n```\n\nConnect by opening \u003chttp://localhost:8888\u003e in your browser.\n\n## Customize the image\n\n### Clone the repo\n\n```shell\ngit clone https://github.com/matifali/dockerdl.git\n```\n\n### Add or delete packages\n\nModify the corresponding `[Dockerfile]` to add or delete packages.\n\n\u003e [!NOTE]\n\u003e You may have to rebuild the `dockerdl-base` if you are building a custom image and then use it as a base image. See [Build](#build) section.\n\n### Build\n\nThe following `--build-arg` are available for the `dockerdl-base` image.\n\n| Argument     | Description    | Default   | Possible Values           |\n| ------------ | -------------- | --------- | ------------------------- |\n| `USERNAME`   | User name      | `coder`   | Any string or `$USER`     |\n| `USERID`     | User ID        | `1000`    | `$(id -u $USER)`          |\n| `GROUPID`    | Group ID       | `1000`    | `$(id -g $USER)`          |\n| `CUDA_VER`   | CUDA version   | `12.4.1`  |                           |\n| `UBUNTU_VER` | Ubuntu version | `22.04`   | `22.04`, `20.04`, `18.04` |\n\n\u003e [!WARNING]\n\u003e **Not all combinations of `--build-arg` are tested.**\n\n#### Step 1\n\nBuild the base image\n\n```shell\ndocker build -t dockerdl-base:latest --build-arg USERNAME=coder --build-arg CUDA_VER=12.4.1 --build-arg UBUNTU_VER=22.04 -f base.Dockerfile .\n```\n\n#### Step 2\n\nBuild the image you want with the base image as the base image.\n\n```shell\ndocker build -t dockerdl:tf --build-arg TF_VERSION=2.12.0 -f tf.Dockerfile .\n```\n\nor\n\n```shell\ndocker build -t dockerdl:torch --build-arg -f torch.Dockerfile .\n```\n\n## How to connect\n\n### VS Code\n\n1. Install [vscode](https://code.visualstudio.com/Download).\n2. Install the following extensions:\n    1. [Docker](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker).\n    2. [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python).\n    3. [Remote Development](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack).\n4. Follow the instructions [here](https://code.visualstudio.com/docs/remote/containers#_quick-start-open-an-existing-folder-in-a-container).\n\n### Coder\n\n1. Install Coder. (\u003chttps://github.com/coder/coder\u003e).\n2. Use deeplearning template which references these images (\u003chttps://github.com/matifali/coder-templates/tree/main/deeplearning\u003e).\n\n### JetBrains PyCharm Professional\n\nFollow the instructions [here](https://www.jetbrains.com/help/pycharm/using-docker-as-a-remote-interpreter.html).\n\n## Issues\n\nIf you find any issue please feel free to create an [issue](https://github.com/matifali/dockerdL/issues/new/choose) and submit a PR.\n\n## Support\n\n- Give a star (⭐) if using this has helped you.\n- [![Sponsor matifali](https://img.shields.io/badge/Sponsor-matifali-blue)](https://github.com/sponsors/matifali)\n  \n## References\n\n[^1]: This image is based on [nvidia/cuda](https://hub.docker.com/r/nvidia/cuda) and uses [nvidia-container-toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html) to access the GPU.\n","funding_links":["https://github.com/sponsors/matifali"],"categories":["Development with Docker","Tools"],"sub_categories":["Development Environment","General-Purpose Machine Learning"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatifali%2Fdockerdl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatifali%2Fdockerdl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatifali%2Fdockerdl/lists"}