容器资料
Docker和Singularity
Docker比较适合测试: 环境适配,每种环境对应一个容器。Docker需要host宿主机上运行Docker服务(root权限),隔离性很高,但会牺牲性能,对GPU环境支持不好(需要安装NVIDIAN公司的插件才能把GPU暴露给container)
Sigularity可认为专为HPC环境开发的容器工具,提供对MPICH和OpenMPI并行开发支持,提供对GPU支持,几乎无性能损失。一个打包的应用镜像,到处部署使用。
核心概念解释
概念 | 说明 | 备注 |
---|---|---|
镜像(Image) | Singularity打包好的运行环境 | 一般以单个文件(SIF)存在,只读(read-only) |
容器(Container) | 在宿主机上启动运行的容器镜像 | 用singularity命令启动,启动运行时可配置运行环境,绑定(bind)宿主机文件路径等 |
沙箱(sandbox) | Singularity将只读镜像转成可写的沙箱形式 | 可根据需要配置运行环境,之后可生成定制后的新镜像 |
宿主机器(host) | 指制作容器镜像和运行容器的机器 | 制作镜像的宿主机需要有root权限;运行容器的宿主机不需要root权限 |
绑定(bind, -B选项) | 指运行容器时将宿主机器上的文件路径映射到容器内指定文件路径 | 借助绑定,容器内运行的程序可以操作宿主上的文件内容 |
DEF文件(Definition File) | 定制化镜像的描述文件 | 主要包含指定OS版本基础镜像,和用户自定义的安装软件包命令 |
网络资料
- Running Intel® MPI Library in Containers
- PITT: Singularity Containers
- Singularity Doc 3.5
- Singularity: GPU Support (NVIDIA CUDA & AMD ROCm)
- Singularity: MPI支持
- Singularity-tutorial.github.io
- Introduction to containers and Singularity
- singularity和docker的安装使用
- singularity 安装与使用
- Singularity——生信流程搭建的新宠儿
- Github: Singularity/apptainer
- NASA: Singularity使用
- UL HPC Tutorial: HPC Containers with Singularity
- Singularity 容器使用介绍
- Building Singularity containers locally
- Singularity在wsl2中安装
- NVIDIA HPC SDK容器