
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
RenkuLab Docker镜像包含启动JupyterLab、RStudio等交互式环境所需的最小依赖,且每个镜像均内置https://github.com/SwissDataScienceCenter/renku-python%E3%80%82
这些镜像可在https://hub.docker.com/search?q=renku%2Frenkulab-&type=image%E8%8E%B7%E5%8F%96%EF%BC%8C%E5%B9%B6%E9%80%9A%E8%BF%87GitHub Actions从本仓库自动构建(详见.github文件夹)。
镜像会不定期更新,我们会尽量保持其与最新的Python版本、CUDA/Torch版本及R版本同步。通常通过更新GitHub Actions以包含新版本,并修改Makefile来调整默认构建内容。
基础Python(renkulab-py)、基础R(renkulab-r)和基础Julia(renkulab-julia)镜像用于https://github.com/SwissDataScienceCenter/renku-project-template%EF%BC%8C%E7%94%A8%E6%88%B7%E5%9C%A8RenkuLab%E5%B9%B3%E5%8F%B0%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E6%88%96%E9%80%9A%E8%BF%87%E6%9C%AC%E5%9C%B0%60renku init`初始化项目时可选择这些模板。
若需使用项目模板未涵盖的本仓库构建镜像,需按以下步骤操作:
FROM行中,将镜像替换为从本仓库构建的镜像。请参见“命名约定”以选择合适的镜像如需为现有镜像添加启动RenkuLab交互式环境的能力,请参见下文“为自有镜像添加renku支持”部分。
容器启动时可能需要执行某些操作以准备环境。基础镜像的entrypoint.sh脚本已包含部分初始化操作,若扩展镜像,可通过在容器根目录添加post-init.sh脚本来添加自定义初始化步骤。该脚本必须允许非特权用户执行,因为它将以容器的用户权限运行。
使用基础镜像的项目还可在项目根目录放置post-init.sh脚本,该脚本将在/entrypoint.sh和/post-init.sh(容器级)之后执行。
基础镜像位于DockerHub的renku/renkulab-*仓库(*表示“类型”,即编程语言或基础镜像)。命名格式如下,帮助选择合适的镜像:
renku/renkulab-[镜像类型]:[镜像类型版本]-[标签|哈希]
示例:renku/renkulab-py:3.10-0.15.0
renku/renkulab:标识该镜像可用于在RenkuLab平台从项目启动环境-py:表示Python镜像类型,即环境中安装的编程语言或添加额外依赖的基础镜像。详见下文“当前镜像”了解可用类型3.10:表示Python版本为3.100.15.0(或d572e9a):标签是仓库提交的标识,若属于发布版本则为版本号;若非发布版本,则为构建镜像所用Git提交SHA的前几位字符注意:基础镜像包含最新版本的renku CLI,可通过修改项目Dockerfile中的renku版本轻松覆盖。
| 镜像 | 描述 | 基础镜像 |
|---|---|---|
| https://hub.docker.com/r/renku/renkulab-py/tags | 含最小依赖的Jupyter镜像 | https://hub.docker.com/r/jupyter/base-notebook/tags |
| https://hub.docker.com/r/renku/renkulab-r/tags | RStudio镜像 | https://hub.docker.com/r/rocker/verse/tags |
| https://hub.docker.com/r/renku/renkulab-julia/tags | Julia镜像 | https://hub.docker.com/r/renku/renkulab-py/tags |
| https://hub.docker.com/r/renku/renkulab-cuda/tags | 含Python和最小依赖的CUDA镜像 | https://hub.docker.com/r/renku/renkulab-py/tags |
| https://hub.docker.com/r/renku/renkulab-cuda-tf/tags | 含Python和Tensorflow的CUDA镜像 | https://hub.docker.com/r/renku/renkulab-cuda/tags |
| https://hub.docker.com/r/renku/renkulab-vnc/tags | 含Python的VNC镜像 | https://hub.docker.com/r/renku/renkulab-py/tags |
| https://hub.docker.com/r/renku/renkulab-matlab/tags | 含Matlab的VNC镜像 | https://hub.docker.com/r/renku/renkulab-py/tags |
| https://hub.docker.com/r/renku/renkulab-qgis/tags | 含QGIS的VNC镜像 | https://hub.docker.com/r/renku/renkulab-py/tags |
更多已发布镜像的详细列表及DockerHub链接,请参见https://github.com/SwissDataScienceCenter/renkulab-docker/releases%E3%80%82
可通过Renku项目模板获取
含最小依赖的基础Jupyter镜像,基于https://hub.docker.com/r/jupyter/base-notebook/tags%E3%80%82
DockerHub:https://hub.docker.com/r/renku/renkulab-py/tags
可通过Renku项目模板获取
基于rocker "verse"镜像:https://hub.docker.com/r/rocker/verse/tags%EF%BC%8C%E8%AF%A5%E9%95%9C%E5%83%8F%E6%8F%90%E4%BE%9B%E6%AF%94conda%E6%9B%B4%E6%96%B0%E7%9A%84R%E7%89%88%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%8C%85%E5%90%ABR%E7%94%A8%E6%88%B7%E5%B8%B8%E7%94%A8%E7%9A%84%E5%A4%A7%E9%83%A8%E5%88%86%E8%BD%AF%E4%BB%B6%E4%BE%9D%E8%B5%96%E3%80%82%E5%90%8C%E6%97%B6%E5%8C%85%E5%90%ABR Jupyter内核和RStudio。访问RStudio只需将URL中的/lab或/tree替换为/rstudio。
DockerHub:https://hub.docker.com/r/renku/renkulab-r/tags
可通过Renku项目模板获取
基于renku/renkulab-py镜像,已安装Julia。
DockerHub:https://hub.docker.com/r/renku/renkulab-julia/tags
基于renku/renkulab-py镜像,包含不同版本的Python和CUDA。
DockerHub:https://hub.docker.com/r/renku/renkulab-cuda/tags
基于renku/renkulab-py镜像,包含完整虚拟桌面。使用noVNC 1.1.0和TigerVNC 1.9.0,并通过Renku UI提供Linux桌面环境。
https://hub.docker.com/r/renku/renkulab-vnc/tags
包含上述完整虚拟桌面环境,并已安装Matlab。
https://hub.docker.com/r/renku/renkulab-matlab/tags
包含上述完整虚拟桌面环境,并已安装QGIS。
https://hub.docker.com/r/renku/renkulab-qgis/tags
make构建镜像本目录提供Makefile用于本地构建镜像。可通过make all构建所有镜像,或按需构建单个镜像。同时提供推送(push)和拉取(pull)镜像的make目标。
docker构建镜像有时可能需要直接使用docker构建单个镜像:在目标镜像目录中运行docker build -t <名称:标签> .即可。注意,在ARM架构系统(如Apple M1/M2)上,由于部分基础镜像不支持ARM架构,可能需要添加--platform=linux/amd64标志。
从0.16.0版本开始,Python基础镜像支持X86_64和arm64双架构。如需本地构建多架构镜像,可使用make:
$ PLATFORM=linux/amd64,linux/arm64 USE_BUILDX=1 make py
或直接使用buildx命令:
$ docker buildx build \ --platform linux/amd64,linux/arm64 \ --tag myimage:tag \ --push \ docker/py
注意:目前仅Python镜像提供arm64支持。
若您已有包含复杂依赖的Docker镜像,可通过以下方式将其部署到RenkuLab:使用我们的镜像作为基础进行构建。我们提供两个通用镜像,一个适用于通用场景,另一个专用于rocker基础镜像。
假设您的Dockerfile位于当前目录,可通过以下命令将renkulab依赖构建到您的镜像中:
docker build -t <镜像标签> \ --build-arg BASE_IMAGE=<您的基础镜像> \ https://github.com/SwissDataScienceCenter/renkulab-docker.git#docker/generic
其中<镜像标签>是您要使用的镜像名称/标签,<您的基础镜像>是您现有的镜像。
若您的镜像基于rocker R发行版,可执行:
docker build -t <镜像标签> \ --build-arg BASE_IMAGE=<您的基础镜像> \ https://github.com/SwissDataScienceCenter/renkulab-docker.git#docker/r
如需建议添加其他语言或基础镜像,欢迎提交issue或PR到本仓库。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务