{"id":13484675,"url":"https://github.com/jupyter/docker-stacks","last_synced_at":"2025-05-15T00:00:37.399Z","repository":{"id":35032338,"uuid":"39144867","full_name":"jupyter/docker-stacks","owner":"jupyter","description":"Ready-to-run Docker images containing Jupyter applications","archived":false,"fork":false,"pushed_at":"2025-05-05T21:35:35.000Z","size":8060,"stargazers_count":8201,"open_issues_count":12,"forks_count":2999,"subscribers_count":187,"default_branch":"main","last_synced_at":"2025-05-07T23:28:55.821Z","etag":null,"topics":["docker","ipython","ipython-notebook","jupyter","jupyter-notebook","jupyter-notebooks","jupyterhub","jupyterlab","notebook","python"],"latest_commit_sha":null,"homepage":"https://jupyter-docker-stacks.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jupyter.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null}},"created_at":"2015-07-15T15:30:00.000Z","updated_at":"2025-05-07T08:44:39.000Z","dependencies_parsed_at":"2023-12-21T19:14:59.954Z","dependency_job_id":"81d4f240-4231-4649-a6ea-6eeef7d8a15b","html_url":"https://github.com/jupyter/docker-stacks","commit_stats":{"total_commits":2806,"total_committers":247,"mean_commits":"11.360323886639677","dds":0.684248039914469,"last_synced_commit":"87b37b4fd818b219ecd4d42f2c14c8d454569d1b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter%2Fdocker-stacks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter%2Fdocker-stacks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter%2Fdocker-stacks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter%2Fdocker-stacks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jupyter","download_url":"https://codeload.github.com/jupyter/docker-stacks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254249199,"owners_count":22039029,"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":["docker","ipython","ipython-notebook","jupyter","jupyter-notebook","jupyter-notebooks","jupyterhub","jupyterlab","notebook","python"],"created_at":"2024-07-31T17:01:29.457Z","updated_at":"2025-05-15T00:00:37.339Z","avatar_url":"https://github.com/jupyter.png","language":"Python","funding_links":["https://github.com/sponsors/mathbunnyru"],"categories":["Python","notebook","Notebook Environments","其他_机器学习与深度学习","docker","HarmonyOS","Application Recommendation","python","Notebook环境","Runtimes/Frontends","Data Science"],"sub_categories":["Windows Manager","🧠 AI Applications","Data Science Other Notes"],"readme":"# Jupyter Docker Stacks\n\n[![GitHub Actions badge](https://github.com/jupyter/docker-stacks/actions/workflows/docker.yml/badge.svg)](https://github.com/jupyter/docker-stacks/actions/workflows/docker.yml?query=branch%3Amain \"Docker images build status\")\n[![Read the Docs badge](https://img.shields.io/readthedocs/jupyter-docker-stacks.svg)](https://jupyter-docker-stacks.readthedocs.io/en/latest/ \"Documentation build status\")\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/jupyter/docker-stacks/main.svg)](https://results.pre-commit.ci/latest/github/jupyter/docker-stacks/main \"pre-commit.ci build status\")\n[![Discourse badge](https://img.shields.io/discourse/users.svg?color=%23f37626\u0026server=https%3A%2F%2Fdiscourse.jupyter.org)](https://discourse.jupyter.org/ \"Jupyter Discourse Forum\")\n[![Binder badge](https://static.mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/jupyter/docker-stacks/main?urlpath=lab/tree/README.ipynb \"Launch a quay.io/jupyter/base-notebook container on mybinder.org\")\n\nJupyter Docker Stacks are a set of ready-to-run [Docker images](https://quay.io/organization/jupyter) containing Jupyter applications and interactive computing tools.\nYou can use a stack image to do any of the following (and more):\n\n- Start a personal Jupyter Server with the JupyterLab frontend (default)\n- Run JupyterLab for a team using JupyterHub\n- Start a personal Jupyter Server with the Jupyter Notebook frontend in a local Docker container\n- Write your own project Dockerfile\n\n## Quick Start\n\nYou can [try the quay.io/jupyter/base-notebook image](https://mybinder.org/v2/gh/jupyter/docker-stacks/main?urlpath=lab/tree/README.ipynb) on \u003chttps://mybinder.org\u003e.\nOtherwise, the examples below may help you get started if you [have Docker installed](https://docs.docker.com/get-started/get-docker/),\nknow [which Docker image](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html) you want to use, and want to launch a single Jupyter Application in a container.\n\nThe [User Guide on ReadTheDocs](https://jupyter-docker-stacks.readthedocs.io/en/latest/) describes additional uses and features in detail.\n\n```{note}\nSince `2023-10-20` our images are only pushed to `Quay.io` registry.\nOlder images are available on Docker Hub, but they will no longer be updated.\n```\n\n### Example 1\n\nThis command pulls the `jupyter/scipy-notebook` image tagged `2025-03-14` from Quay.io if it is not already present on the local host.\nIt then starts a container running a Jupyter Server with the JupyterLab frontend and exposes the container's internal port `8888` to port `10000` of the host machine:\n\n```bash\ndocker run -p 10000:8888 quay.io/jupyter/scipy-notebook:2025-03-14\n```\n\nYou can modify the port on which the container's port is exposed by [changing the value of the `-p` option](https://docs.docker.com/engine/containers/run/#exposed-ports) to `-p 8888:8888`.\n\nVisiting `http://\u003chostname\u003e:10000/?token=\u003ctoken\u003e` in a browser loads JupyterLab,\nwhere:\n\n- The `hostname` is the name of the computer running Docker\n- The `token` is the secret token printed in the console.\n\nThe container remains intact for restart after the Server exits.\n\n### Example 2\n\nThis command pulls the `jupyter/datascience-notebook` image tagged `2025-03-14` from Quay.io if it is not already present on the local host.\nIt then starts an _ephemeral_ container running a Jupyter Server with the JupyterLab frontend and exposes the server on host port 10000.\n\n```bash\ndocker run -it --rm -p 10000:8888 -v \"${PWD}\":/home/jovyan/work quay.io/jupyter/datascience-notebook:2025-03-14\n```\n\nThe use of the `-v` flag in the command mounts the current working directory on the host (`${PWD}` in the example command) as `/home/jovyan/work` in the container.\nThe server logs appear in the terminal.\n\nVisiting `http://\u003chostname\u003e:10000/?token=\u003ctoken\u003e` in a browser loads JupyterLab.\n\nDue to the usage of [the `--rm` flag](https://docs.docker.com/reference/cli/docker/container/run/#rm)\nDocker automatically cleans up the container and removes the file system when the container exits,\nbut any changes made to the `~/work` directory and its files in the container will remain intact on the host.\n[The `-i` flag](https://docs.docker.com/reference/cli/docker/container/run/#interactive) keeps the container's `STDIN` open, and lets you send input to the container through standard input.\n[The `-t` flag](https://docs.docker.com/reference/cli/docker/container/run/#tty) attaches a pseudo-TTY to the container.\n\n```{note}\nBy default, [jupyter's root_dir](https://jupyter-server.readthedocs.io/en/latest/other/full-config.html) is `/home/jovyan`.\nSo, new notebooks will be saved there, unless you change the directory in the file browser.\n\nTo change the default directory, you must specify `ServerApp.root_dir` by adding this line to the previous command: `start-notebook.py --ServerApp.root_dir=/home/jovyan/work`.\n```\n\n## Choosing Jupyter frontend\n\nJupyterLab is the default for all the Jupyter Docker Stacks images.\nIt is still possible to switch back to Jupyter Notebook (or to launch a different startup command).\nYou can achieve this by passing the environment variable `DOCKER_STACKS_JUPYTER_CMD=notebook` (or any other valid `jupyter` subcommand) at container startup;\nmore information is available in the [documentation](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/common.html#alternative-commands).\n\n## Resources\n\n- [Documentation on ReadTheDocs](https://jupyter-docker-stacks.readthedocs.io/en/latest/)\n- [Issue Tracker on GitHub](https://github.com/jupyter/docker-stacks/issues)\n- [Jupyter Discourse Forum](https://discourse.jupyter.org/)\n- [Jupyter Website](https://jupyter.org)\n- [Images on Quay.io](https://quay.io/organization/jupyter)\n\n## Acknowledgments\n\n- Starting from `2022-07-05`, `aarch64` self-hosted runners were sponsored by [`@mathbunnyru`](https://github.com/mathbunnyru/).\n  Please, consider [sponsoring his work](https://github.com/sponsors/mathbunnyru) on GitHub\n- Starting from `2023-10-31`, `aarch64` self-hosted runners are sponsored by an amazing [`2i2c non-profit organization`](https://2i2c.org)\n- Starting from `2025-02-11`, we use GitHub-hosted `aarch64` runners\n\n## CPU Architectures\n\n- We publish containers for both `x86_64` and `aarch64` platforms\n- Single-platform images have either `aarch64-` or `x86_64-` tag prefixes, for example, `quay.io/jupyter/base-notebook:aarch64-python-3.11.6`\n- Starting from `2022-09-21`, we create multi-platform images (except `tensorflow-notebook`)\n- Starting from `2023-06-01`, we create a multi-platform `tensorflow-notebook` image as well\n- Starting from `2024-02-24`, we create CUDA enabled variants of `pytorch-notebook` image for `x86_64` platform\n- Starting from `2024-03-26`, we create CUDA enabled variant of `tensorflow-notebook` image for `x86_64` platform\n\n## Using old images\n\n[![Python versions badge](https://img.shields.io/badge/python-3.7%20%7C%203.8%20%7C%203.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue.svg)](https://www.python.org/downloads/ \"Python versions supported\")\n\nThis project only builds one set of images at a time.\nIf you want to use the older `Ubuntu` and/or `Python` version, you can use the following images:\n\n| Build Date   | Ubuntu | Python | Tag            |\n| ------------ | ------ | ------ | -------------- |\n| 2022-10-09   | 20.04  | 3.7    | `1aac87eb7fa5` |\n| 2022-10-09   | 20.04  | 3.8    | `a374cab4fcb6` |\n| 2022-10-09   | 20.04  | 3.9    | `5ae537728c69` |\n| 2022-10-09   | 20.04  | 3.10   | `f3079808ca8c` |\n| 2022-10-09   | 22.04  | 3.7    | `b86753318aa1` |\n| 2022-10-09   | 22.04  | 3.8    | `7285848c0a11` |\n| 2022-10-09   | 22.04  | 3.9    | `ed2908bbb62e` |\n| 2023-05-30   | 22.04  | 3.10   | `4d70cf8da953` |\n| 2024-08-26   | 22.04  | 3.11   | `00987883e58d` |\n| 2024-10-22   | 24.04  | 3.11   | `b74418220768` |\n| weekly build | 24.04  | 3.12   | `latest`       |\n\n## Contributing\n\nPlease see the [Contributor Guide on ReadTheDocs](https://jupyter-docker-stacks.readthedocs.io/en/latest/)\nfor information about how to contribute recipes, features, tests, and community-maintained stacks.\n\n## Alternatives\n\n- [rocker/binder](https://rocker-project.org/images/versioned/binder.html) -\n  From the R focused [rocker-project](https://rocker-project.org),\n  lets you run both RStudio and Jupyter either standalone or in a JupyterHub\n- [jupyter/repo2docker](https://github.com/jupyterhub/repo2docker) -\n  Turn git repositories into Jupyter-enabled Docker Images\n- [openshift/source-to-image](https://github.com/openshift/source-to-image) -\n  A tool for building artifacts from source code and injecting them into docker images\n- [jupyter-on-openshift/jupyter-notebooks](https://github.com/jupyter-on-openshift/jupyter-notebooks) -\n  OpenShift compatible S2I builder for basic notebook images\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjupyter%2Fdocker-stacks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjupyter%2Fdocker-stacks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjupyter%2Fdocker-stacks/lists"}