RenkuLab Docker镜像包含启动JupyterLab、RStudio等交互式环境所需的最小依赖,且每个镜像均内置renku CLI。
这些镜像可在DockerHub获取,并通过GitHub Actions从本仓库自动构建(详见.github文件夹)。
镜像会不定期更新,我们会尽量保持其与最新的Python版本、CUDA/Torch版本及R版本同步。通常通过更新GitHub Actions以包含新版本,并修改Makefile来调整默认构建内容。
基础Python(renkulab-py)、基础R(renkulab-r)和基础Julia(renkulab-julia)镜像用于Renku项目模板,用户在RenkuLab平台创建项目或通过本地renku 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版本轻松覆盖。
| 镜像 | 描述 | 基础镜像 |
|---|---|---|
| renku/renkulab-py | 含最小依赖的Jupyter镜像 | jupyter/base-notebook |
| renku/renkulab-r | RStudio镜像 | rocker/verse |
| renku/renkulab-julia | Julia镜像 | renku/renkulab-py |
| renku/renkulab-cuda | 含Python和最小依赖的CUDA镜像 | renku/renkulab-py |
| renku/renkulab-cuda-tf | 含Python和Tensorflow的CUDA镜像 | renku/renkulab-cuda |
| renku/renkulab-vnc | 含Python的VNC镜像 | renku/renkulab-py |
| renku/renkulab-matlab | 含Matlab的VNC镜像 | renku/renkulab-py |
| renku/renkulab-qgis | 含QGIS的VNC镜像 | renku/renkulab-py |
更多已发布镜像的详细列表及DockerHub链接,请参见发布说明。
可通过Renku项目模板获取
含最小依赖的基础Jupyter镜像,基于jupyter/base-notebook。
DockerHub:[***]
可通过Renku项目模板获取
基于rocker "verse"镜像:rocker/verse,该镜像提供比conda更新的R版本,并包含R用户常用的大部分软件依赖。同时包含R Jupyter内核和RStudio。访问RStudio只需将URL中的/lab或/tree替换为/rstudio。
DockerHub:[***]
可通过Renku项目模板获取
基于renku/renkulab-py镜像,已安装Julia。
DockerHub:[***]
基于renku/renkulab-py镜像,包含不同版本的Python和CUDA。
DockerHub:[***]
基于renku/renkulab-py镜像,包含完整虚拟桌面。使用noVNC 1.1.0和TigerVNC 1.9.0,并通过Renku UI提供Linux桌面环境。
[***]
包含上述完整虚拟桌面环境,并已安装Matlab。
[***]
包含上述完整虚拟桌面环境,并已安装QGIS。
[***]
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=<您的基础镜像> \ [***]
其中<镜像标签>是您要使用的镜像名称/标签,<您的基础镜像>是您现有的镜像。
若您的镜像基于rocker R发行版,可执行:
docker build -t <镜像标签> \ --build-arg BASE_IMAGE=<您的基础镜像> \ [***]
如需建议添加其他语言或基础镜像,欢迎提交issue或PR到本仓库。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429