Singularity/Apptainer 镜像配置教程
适用于使用 Singularity 或 Apptainer 的系统,如 HPC 集群、科学计算环境等。支持通过 docker:// 协议直接指定轩辕镜像地址,无需复杂配置即可享受高速稳定的镜像拉取体验。
1关于 Singularity 和 Apptainer
Apptainer 是 Singularity 项目的社区分支,两者功能基本相同,命令也基本兼容。本教程同时适用于 Singularity 和 Apptainer。
请使用以下命令查看版本:
singularity --version
或(如果使用的是 Apptainer):
apptainer --version
2安装 Singularity/Apptainer
如果您的系统尚未安装 Singularity 或 Apptainer,可以使用以下方法安装:
Ubuntu/Debian(推荐使用 Apptainer):
sudo add-apt-repository ppa:apptainer/ppa -y sudo apt update sudo apt install -y apptainer
CentOS/RHEL:
sudo yum install -y epel-release sudo yum install -y singularity
从源码编译安装:
# 从源码编译安装(适用于高级用户) # 参考官方文档:https://apptainer.org/docs/admin/main/installation.html
💡提示:更多安装方法请参考官方文档:Apptainer 安装文档或Singularity 安装文档
3使用 docker:// 协议指定专属域名
Singularity/Apptainer 支持通过 docker:// 协议直接指定镜像地址,这是最简单直接的方法,无需任何配置文件。
基本用法:
singularity pull myapp.sif docker://xxx.xuanyuan.run/library/nginx:alpine
或使用 Apptainer 命令:
apptainer pull myapp.sif docker://xxx.xuanyuan.run/library/nginx:alpine
💡重要提示:请将命令中的 xxx 替换为您的专属域名前缀。例如,如果您的专属域名为 123abc.xuanyuan.run,则应将 xxx 替换为 123abc。
多仓库镜像拉取示例:
优势:此方法无需修改任何配置文件,直接在命令中指定专属域名即可,简单快捷。适合临时使用或脚本中直接调用。
4验证配置是否生效
拉取镜像后,可以通过以下方式验证是否使用了专属域名:
- 观察拉取速度,如果明显快于直接拉取官方源,说明配置生效
- 在网络抓包工具(如 tcpdump、wireshark)中查看是否访问了您的专属域名
- 在代理服务器日志中查看是否记录了专属域名的访问记录
- 检查镜像文件是否成功下载到本地
示例命令:
singularity pull test.sif docker://xxx.xuanyuan.run/library/alpine:latest
拉取成功后,可以使用 ls -lh test.sif 查看镜像文件。
5常见问题
- 专属域名拼写错误
- 专属域名没有流量
- 镜像路径不正确
- 网络连接问题
- 检查命令中的域名是否正确
- 前往充值页面充值流量包
- 确认镜像路径格式正确
- 检查网络连接
- 仍在使用官方源地址
- 专属域名配置错误
- 确认命令中使用的是专属域名
- 检查域名配置是否正确
镜像拉取常见问题
使用与功能问题
错误码与失败问题
manifest unknown 错误:镜像不存在或标签错误
manifest unknown 错误
TLS/SSL 证书验证失败:Docker pull 时 HTTPS 证书错误
TLS 证书验证失败
DNS 解析超时:无法解析镜像仓库地址或连接超时
DNS 解析超时
410 Gone 错误:Docker 版本过低导致协议不兼容
410 错误:版本过低
402 Payment Required 错误:流量耗尽错误提示
402 错误:流量耗尽
401 UNAUTHORIZED 错误:身份认证失败或登录信息错误
身份认证失败错误
429 Too Many Requests 错误:请求频率超出专业版限制
429 限流错误
Docker login 凭证保存错误:Cannot autolaunch D-Bus(不影响登录)
凭证保存错误
账号 / 计费 / 权限
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务