使用HPCRunner一键构建镜像
前置条件
- 待构建镜像的节点已挂载配置YUM源。
YUM源挂载配置建议使用全量的ISO Everything包。
- 待构建镜像的节点需要服务器有外网权限。如无外网权限请先配置外网权限或外网代理。
安装步骤
- 使用PuTTY工具,以root用户登录节点。
- 安装基础依赖包。执行如下命令:
yum -y install git time zlib zlib-devel gcc gcc-c++ environment-modules python python3 python3-devel python3-libs python3-pip cmake make numactl numactl-devel numactl-libs rpmdevtools wget libtirpc libtirpc-devel unzip flex tar patch glibc-devel rpcbind csh perl-XML-LibXML xorg-x11-xauth curl curl-devel libcurl-devel libxml2-devel
- 克隆仓库。如已通过手动下载了贾维斯智能助手(HPCRunner),则忽略该步骤,否则执行如下命令:
git clone https://gitee.com/openeuler/hpcrunner.git
回显结果包含如下示例内容,表示HPCRunner克隆成功:
... Cloning into 'hpcrunner'... remote: Enumerating objects: 13018, done. remote: Counting objects: 100% (171/171), done. remote: Compressing objects: 100% (142/142), done. remote: Total 13018 (delta 89), reused 57 (delta 23), pack-reused 12847 (from 1) Receiving objects: 100% (13018/13018), 72.71 MiB | 2.57 MiB/s, done. Resolving deltas: 100% (6150/6150), done.
- 初始化HPCRunner。执行如下命令:
cd /home/hpcrunner
source init.sh
/home/hpcrunner: 表示HPCRunner所在目录,请根据实际目录名称情况调整。
- 安装go。执行如下命令:
./jarvis -install go/1.18 com
回显结果包含如下示例内容,表示go安装成功:
... SUCCESSFULLY EXECUTED AT 2025-10-13 09:51:31, CONGRATULATIONS!!!
- 配置加载go环境变量。执行如下命令:
module load ${JARVIS_ROOT}/software/modulefiles/go/1.18
无回显结果表示正常。
- 安装singularity。执行如下命令:
./jarvis -install singularity/3.9.6 any
回显结果包含如下示例内容,表示singularity安装成功:
... SUCCESSFULLY EXECUTED AT 2025-10-13 09:55:31, CONGRATULATIONS!!!
- 配置加载singularity环境变量。执行如下命令:
module load ${JARVIS_ROOT}/software/modulefiles/singularity/3.9.6
无回显结果表示正常。
- 使用singularity拉取rocker/rstudio镜像。执行如下命令:
singularity pull ${HOME}/rstudio.sif docker://docker.1ms.run/rocker/rstudio:4.4.3
- 运行“singularity pull”命令需要服务器有外网权限。如无外网权限请先配置外网权限或外网代理。
- ${HOME}/rstudio.sif表示生成的.sif文件保存到当前用户家目录。
- 启动实例。执行如下命令:
singularity instance start --writable-tmpfs --bind /etc/passwd:/etc/passwd:ro --bind /etc/group:/etc/group:ro --bind /etc/shadow:/etc/shadow:ro --bind /home:/home:rw ${HOME}/rstudio.sif myrstudio
回显结果包含如下示例内容,表示运行测试成功:
INFO:instancestartedsuccessfully
- 检查实例运行状态,执行如下命令:
singularity instance list
回显结果包含如下示例内容,表示实例已启动:
INSTANCE NAME PID IP IMAGE myrstudio 913669 /root/rstudio.sif
- 进入实例。
singularity shell instance://myrstudio
回显如下,表示已进入实例环境
Singularity>
在实例环境中,执行如下命令,启动rsutdio server。
/usr/local/bin/rstudio-server start
回显如下,表示表示启动成功。
Singularity> /usr/local/bin/rstudio-server start TTY detected. Printing informational message about logging configuration. Logging configuration loaded from '/etc/rstudio/logging.conf'. Logging to 'syslog'. TTY detected. Printing informational message about logging configuration. Logging configuration loaded from '/etc/rstudio/logging.conf'. Logging to 'syslog'.
然后输入exit命令,退出实例即可。
使用浏览器,访问http://10.0.0.1:8787,并使用OS用户登录,观察界面如下,表示登录成功:

10.0.0.1:表示服务启动节点的ip地址,请根据实际情况修改。
- (可选)如果需要停止实例,执行以下命令。
singularity instance stop myrstudio
回显如下,表示停止成功。
INFO: Stopping myrstudio instance of /root/rstudio.sif (PID=913669)