基于 Nix 的框架,用于声明式、可复现地构建 JupyterLab 环境,可配置内核与扩展。
jupyterhub/repo2docker
将 Git 仓库根据其配置文件构建为支持 Jupyter 的 Docker 镜像。
- Star
- 1,740
- Fork
- 389
- 未关闭 Issue
- 199
- 最近提交
- 20小时前
这是什么?
repo2docker 可以拉取 GitHub 上的或本地的 Git 仓库,并依据仓库中的配置文件构建容器镜像。构建出的镜像带有 Jupyter 环境,仓库内容可以直接在其中打开和运行,依赖也已经装好,便于分享可复现的项目。
使用方式很简单,通过 jupyter-repo2docker 加仓库地址即可运行,本机需要先启动 Docker。构建完成后,终端会输出一个带 token 的访问链接,在浏览器中打开即可看到仓库内容的 Jupyter Notebook。
它的设计理念借鉴了 Heroku Build Packs,由仓库自身的配置决定运行环境的构建方式。该工具是 Binder 类服务的核心组件,BinderHub 可以在授予 Docker daemon 访问权限后将其运行在容器中。目前支持 Linux 和 macOS,可通过 PyPI 安装 jupyter-repo2docker。
核心功能
- 01拉取 GitHub 或本地的 Git 仓库并构建为 Docker 镜像。
- 02根据仓库中的配置文件决定环境的搭建方式。
- 03构建完成后启动带有仓库内容的 Jupyter Notebook 服务。
- 04可通过 PyPI 或源码用 pip 安装。
- 05在授予 Docker daemon 访问权限后可运行在容器中,BinderHub 即采用此方式。
适用场景
- 将科研或教学仓库打包,让他人无需手动配置即可带齐依赖运行。
- 在可复现的 Jupyter 环境中运行共享的代码仓库。
- 通过 BinderHub 为项目提供 Binder 式的一键启动链接。
快速上手
- 1
安装并启动 Docker(必需)
- 2
从 PyPI 安装 repo2docker
pip install jupyter-repo2docker - 3
构建并启动一个仓库
jupyter-repo2docker https://github.com/norvig/pytudes
使用前须知
- 仅在 Linux 和 macOS 上受支持;Windows 不受官方支持。
- 需要在本机运行 Docker。
标签
常见问题
- repo2docker 是什么?
- 将 Git 仓库根据其配置文件构建为支持 Jupyter 的 Docker 镜像。 repo2docker 可以拉取 GitHub 上的或本地的 Git 仓库,并依据仓库中的配置文件构建容器镜像。构建出的镜像带有 Jupyter 环境,仓库内容可以直接在其中打开和运行,依赖也已经装好,便于分享可复现的项目。
- repo2docker 可以免费使用吗?用的什么许可证?
- repo2docker 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
- repo2docker 还在维护吗?
- 活跃维护中。repo2docker 最近一次提交是在 2026年11月6日。
- repo2docker 适合用来做什么?
- 将科研或教学仓库打包,让他人无需手动配置即可带齐依赖运行。 在可复现的 Jupyter 环境中运行共享的代码仓库。 通过 BinderHub 为项目提供 Binder 式的一键启动链接。
- repo2docker 怎么安装和运行?
- 安装并启动 Docker(必需) 从 PyPI 安装 repo2docker: pip install jupyter-repo2docker 构建并启动一个仓库: jupyter-repo2docker https://github.com/norvig/pytudes
- 在哪里获取 repo2docker?
- 源代码和安装说明在 GitHub 上:https://github.com/jupyterhub/repo2docker
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
746151NixMIT更新于 6天前
用于创建、分发、自动评分和人工批改 Jupyter Notebook 作业的系统。
1370346PythonBSD-3-Clause更新于 4天前
将 Jupyter 笔记本保存为 Markdown 或 Python、Julia、R 脚本,便于版本管理与 IDE 编辑。
7280+3 本周437PythonMIT维护活跃更新于 3天前
一款用于参数化、批量执行和分析 Jupyter Notebook 的 Python 工具,支持命令行与 Python API。
6498465PythonBSD-3-Clause更新于 上个月
一款命令行工具,通过 Python 编写的 build.envd 文件构建可复现的容器化 AI/ML 开发环境。
2243+2 本周169GoApache-2.0维护活跃更新于 5天前