Linux下使用Singularity替代docker-compose运行AWSM镜像的方案咨询
Docker Compose命令转Singularity兼容方案
- 首先确认你执行
singularity pull后,当前目录已生成awsm_0.10.sif镜像文件 - 找到
awsm_docker脚本中所有调用docker-compose的代码段,替换为Singularity执行逻辑,示例替换如下:
run_call = ('singularity exec' ' --bind ./{}/:/data/input' ' awsm_0.10.sif' ' /data/input/{}').format(fpc, cfg) call(run_call, shell=True, universal_newlines=True)
- 脚本中如果存在其他
docker-compose stop/rm类的清理命令,直接删除即可,Singularity任务运行结束后会自动释放资源,无需额外清理 - 保存修改后的脚本,重新执行测试命令即可:
python ./awsm_docker --case tuol
说明:你之前遇到的
maxus.nc文件不存在报错是因为docker-compose命令执行失败,容器没有正常运行生成对应文件,替换为Singularity命令后容器正常运行即可生成所需文件,后续报错会同步消失。如果运行过程中出现路径找不到的问题,可按需在--bind参数后追加挂载规则,多个挂载规则用英文逗号分隔即可。
内容的提问来源于stack exchange,提问作者agentrrb
相关产品推荐
相关产品推荐

