本页面已设置访问密码,请输入密码查看全文:
本指南详细说明如何在高性能计算(HPC)集群环境中,通过容器化方式安装和部署软件。以K-mer计数器(KMC)为例,展示从创建专用目录、配置参数、构建容器到最终同步验证的完整流程。适用于需要在多节点环境中保证软件环境一致性的分析任务。
环境与路径准备
进入容器专用节点
1 | |
创建工作目录
1 | |
获取容器构建工具
1 | |
3. 参数文件配置详解
3.1 参数说明
编辑 parameter_container_maker.txt 文件,以下是各关键参数的详细解释:
| 参数名 | 说明 | 示例值 |
|---|---|---|
| App_name | 容器/应用的名称,用于标识 | genomesurvey |
| container_dir | 容器构建的输出目录 | ./ (当前目录) |
| based_sif | 基础镜像路径,支持系统名称或.sif文件路径 | /mnt/data1/prog1/Container/hub/ubuntu/ubuntubase_V1.1 |
| yum_install | 需要安装的yum/rpm依赖包,逗号分隔 | wget,gcc,make,git |
| pip_install | Python 2需要安装的pip包,逗号分隔 | numpy,biopython |
| pip3_install | Python 3需要安装的pip包,逗号分隔 | numpy,pandas |
| perl_install_interactive | 是否交互式安装Perl模块(YES/NO) | YES |
| perl_install | 需要安装的Perl模块名,逗号分隔 | Bio::Perl,Statistics::Descriptive |
| R_install_interactive | 是否交互式安装R包(YES/NO) | YES |
| files_in_out | 外部文件复制到容器内的映射,格式:外部路径:内部路径 |
/opt/software:/usr/local/software |
| login | 目标同步服务器的IP或主机名 | 110.1.1.22 |
| port | 同步服务器的SSH端口 | 50000 |
| login_dir | 同步到目标服务器的目录路径 | /public23/4_After_Sales_Personal/JiaYuhang |
| user_id | 同步使用的用户名 | ReSeq |
| development_mode | 开发者模式(YES/NO),YES生成空容器进入交互安装 | YES |
| bind | 开发者模式下,挂载外部路径到容器内 | /mnt/data1/prog1/Container/Test/JiaYuhang:/mnt |
KMC安装配置示例
以下是为安装KMC调整后的参数配置:
1 | |
分步操作流程
因为我在这里执行的时候还不知道可以初始化就能挂载路径,所以重复进行了。
第一次执行(开发者模式,挂载路径)
1 | |
第二次执行(封装sif并同步)
1 | |
验证与测试
在目标节点验证
1 | |
最佳实践建议
- 路径管理:
- 使用绝对路径而非相对路径
- 统一容器内部外部路径结构
- 为不同软件创建专用目录
- 版本控制:
- 为每个软件版本创建独立的容器
- 在容器名称中包含版本号:
kmc_v3.2.1.sif - 保留构建参数文件备查
- 资源优化:
- 仅在必要时使用开发者模式
- 清理容器内临时文件后再封装
- 文档记录:
- 记录每个容器的构建日期和用途
- 保存安装软件的具体版本信息
- 记录遇到的特殊依赖和解决方法
附录
快速参考命令
1 | |