【21-14】singularity 介绍
我们经常使用容器,也经常使用 Docker,但是 Docker 只是容器管理和运行的一个工具,除了 Docker 以外还有 Singularity 以及 红帽的 Podman。
现在我们简单看一下 Singularity ,Singularity 主要用在高性能计算环境,支持并行计算。
Singularity 还支持 Singularity 容器和 Docker 容器的互相转换。
Singularity 使用户可以完全的控制自己的环境,Singularity 容器可以封装整个科学工作流程、软件和库,甚至数据,这意味着你不必要求你的集群管理员为你安装任何东西,你可以把它放在一个 Singularity 的容器中运行。
Docker 基础
Singularity 的软件可以导入您的 Docker images 即使你没有安装 Docker 或者没有 root 权限。
分享代码
把它放在一个 Singularity 的容器中,你的合作者不必经历安装缺失依赖的痛苦。
独立环境
你可以在一个 Singularity 的容器中“swap out”你的主机上的操作系统以获得不同的操作系统。
操作简单
作为用户,您可以控制容器与主机交互的程度。可以无缝集成,或者根本不需要沟通。
你可以在本地生成和定制容器,然后在共享资源上运行它们。在 2.3 版本中,你甚至可以在没有 sudo 权限的情况下将 Docker images layers 这一层到一个新的 Singularity 的 image 。Singularity 还允许您利用您所在的主机上的资源。这包括 HPC 互连、资源管理、文件系统、图形和/或加速器,等。
Singularity 通过启用几个关键的方面来实现这一点。
封装环境
基于 images 的容器
无需 root 提权(No user contextual changes or root escalation allowed)
没有 root 的守护进程
版权声明: 本文为 InfoQ 作者【耳东】的原创文章。
原文链接:【http://xie.infoq.cn/article/e17307b793f1ae775ec1df620】。未经作者许可,禁止转载。
评论