docker镜像转换为singularity sif
#default
生信集群里一般使用singularity来运行容器,有一些本地现成的docker镜像,需要提前转换为singularity的sif格式文件,这样方便迁移和管理。
注册表拉取
适用于环境可以同时使用docker和singularity。如果是从Docker Hub (或其他 OCI 兼容的容器注册表) 中拉取,是可以直接转换为singularity镜像的。如果镜像已经存在本地docker缓存里,singularity会优先从本地docker缓存进行构建。
singularity build img.sif docker://img:tag
离线环境
适用只拥有singularity环境,但没有docker环境的情况。首先在docker环境下,将docker镜像转换为tar。
docker save -o img.tar img:tag
然后将tar通过scp复制到singularity环境中。
scp img.tar user@hpc.example.com:/path/to/your/directory/
最后在singularity环境里转换tar为sif。
singularity build img.sif docker-archive://img.tar