本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
,支持从URL、Gist、GitHub仓库及本地文件加载笔记本。若已安装 Docker,可直接拉取并运行官方镜像:
# 拉取镜像 docker pull jupyter/nbviewer # 运行容器,映射端口 8080 docker run -p 8080:8080 jupyter/nbviewer
镜像会随 master 分支更新自动构建,确保获取最新版本。
为提升 GitHub 访问速度和友好性,建议配置 GitHub OAuth 密钥或个人访问令牌:
使用 OAuth 密钥:
docker run -p 8080:8080 \ -e 'GITHUB_OAUTH_KEY=你的OAuth密钥' \ -e 'GITHUB_OAUTH_SECRET=你的OAuth密钥密钥' \ jupyter/nbviewer
使用个人访问令牌:
docker run -p 8080:8080 \ -e 'GITHUB_API_TOKEN=你的GitHub个人访问令牌' \ jupyter/nbviewer
访问企业内部 GitHub 实例时,需设置 GITHUB_API_URL 指定 API 端点(格式为 https://<实例域名>/api/v3/),并配合 OAuth 密钥或 API 令牌使用:
docker run -p 8080:8080 \ -e 'GITHUB_OAUTH_KEY=企业OAuth密钥' \ -e 'GITHUB_OAUTH_SECRET=企业OAuth密钥密钥' \ -e 'GITHUB_API_URL=[***] \ jupyter/nbviewer
配置后,所有 GitHub API 请求将指向企业实例,支持访问内部笔记本。
NBViewer 的基础 URL 优先级如下:
JUPYTERHUB_SERVICE_PREFIX,则以此值为基础 URL(JupyterHub 集成时自动配置)。--base-url 指定,例如:
python -m nbviewer --base-url=/nbviewer/
如需基于源码修改并构建镜像:
# 克隆仓库(若未克隆) git clone [***] cd nbviewer # 构建本地镜像 docker build -t nbviewer . # 运行本地镜像 docker run -p 8080:8080 nbviewer
生产环境中 NBViewer 使用 memcached 缓存,通过 docker-compose 可快速搭建含缓存的本地开发环境:
# 安装 docker-compose(若未安装) pip install docker-compose # 启动服务(nbviewer + memcached) cd nbviewer docker-compose up
服务启动后,访问 http://localhost:8080 即可使用,代码修改后自动重载。
需先安装系统依赖包(名称可能因系统而异,以下为 Debian/Ubuntu 示例):
# 安装系统依赖 sudo apt-get install libmemcached-dev libcurl4-openssl-dev pandoc libevent-dev libgnutls28-dev # 克隆仓库并安装 Python 依赖 git clone [***] cd nbviewer pip install -r requirements.txt
静态资源(CSS/JS)需通过 npm 和 invoke 构建:
# 安装开发依赖 pip install -r requirements-dev.txt npm install # 下载前端依赖并构建 CSS invoke bower # 下载组件到 nbviewer/static/components invoke less # 编译 LESS 为 CSS(添加 -d 生成源码映射,用于调试)
# 启动调试模式(自动重载、禁用缓存) python -m nbviewer --debug --no-cache
NBViewer 支持通过配置文件(默认 nbviewer_config.py)自定义参数。生成默认配置文件:
# 生成默认配置(所有可配置项均注释,显示默认值) python -m nbviewer --generate-config # 生成自定义名称的配置文件 python -m nbviewer --generate-config --config-file=my_config.py
配置文件使用 Jupyter 标准配置语法(基于 traitlets),例如修改默认端口:
# 在配置文件中添加 c.NBViewer.port = 9000 # 将默认端口改为 9000
通过 --help 查看常用参数,--help-all 查看所有可配置项:
# 查看常用参数 python -m nbviewer --help # 查看所有可配置项 python -m nbviewer --help-all
常用参数示例:
--debug:启用调试模式,自动重载代码--no-cache:禁用缓存,用于开发测试--port=9000:指定服务端口(等价于 c.NBViewer.port=9000)| 环境变量 | 作用说明 |
|---|---|
GITHUB_OAUTH_KEY | GitHub OAuth 应用的客户端 ID,用于提升 GitHub API 访问速率限制。 |
GITHUB_OAUTH_SECRET | GitHub OAuth 应用的客户端密钥,与 GITHUB_OAUTH_KEY 配合使用。 |
GITHUB_API_TOKEN | GitHub 个人访问令牌,替代 OAuth 密钥,用于 API 认证。 |
GITHUB_API_URL | GitHub API 基础 URL,用于 GitHub Enterprise(如 [***])。 |
JUPYTERHUB_SERVICE_PREFIX | JupyterHub 服务路径前缀,设置后作为 NBViewer 的基础 URL。 |
提供商定义笔记本的来源,nbviewer 内置 url、gist、github、local 提供商。自定义提供商需实现以下功能:
uri_rewrites)若仅需修改 URL 格式(如适配特定网站的链接规则),实现 uri_rewrites 函数,将用户输入的 URI 转换为标准格式。示例参考 Dropbox 提供商。
default_handlers)若需对接外部 API(如从特定平台加载笔记本),实现 default_handlers,定义请求处理逻辑。示例参考 GitHub 提供商。
格式定义笔记本的展示方式,内置支持 html(默认)、slides(幻灯片)、script(代码脚本)。开发新格式需实现对应的渲染逻辑,建议先通过 GitHub Issues 或 Gitter 讨论设计方案。
将 NBViewer 作为 JupyterHub 服务运行,可限制未认证用户访问。修改 JupyterHub 配置文件 jupyterhub_config.py,添加服务定义:
c.JupyterHub.services = [ { 'name': 'nbviewer', # 服务名称,访问路径为 /services/nbviewer 'url': '[***] # NBViewer 服务地址 'cwd': '/path/to/nbviewer', # nbviewer 源码目录 'command': ['python', '-m', 'nbviewer'] # 启动命令 } ]
JupyterHub 会自动设置 JUPYTERHUB_* 环境变量(如 JUPYTERHUB_SERVICE_PREFIX),NBViewer 读取后自动配置基础 URL 和认证逻辑。
若希望贡献代码或改进功能,参考 CONTRIBUTING.md,包含开发环境设置、测试流程、提交规范等详细说明。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429