侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Singularity安装和使用

2023-11-02 星期四 / 0 评论 / 0 点赞 / 58 阅读 / 4325 字

官方文档链接:http://singularity.lbl.gov/user-guide一、基本介绍Singularity使用户能够完全控制其操作系统环境。这意味着用户可以将主机上的操作系统“交换”给

官方文档链接:http://singularity.lbl.gov/user-guide

一、基本介绍

Singularity使用户能够完全控制其操作系统环境。这意味着用户可以将主机上的操作系统“交换”给其他人。因此,如果主机系统运行RHEL6,但是您的应用程序在Ubuntu中运行,则可以创建一个Ubuntu映像,将应用程序安装到该映像中,将映像复制到另一个主机,并在该主机的本机Ubuntu环境中运行应用程序,总的来说Singularity类似于Docker。Singularity允许利用所在宿主机的资源。这包括HPC互连,资源管理器,文件系统,GPU和/或加速器等。Singularity和Docker优缺点对比

二、安装

Ubuntu:sudo apt-get update && sudo apt-get install python dh-autoreconf build-essentialCentos:sudo yum update && sudo yum groupinstall 'Development Tools'# clone可以选择release版本进行安装$ git clone https://github.com/singularityware/singularity.git$ cd singularity$ ./autogen.sh$ ./configure --prefix=/usr/local --sysconfdir=/etc$ make$ sudo make install

三、创建镜像

$ singularity create container.imgInitializing Singularity image subsystemOpening image file: container.imgCreating 768MiB imageBinding image to loopCreating file system within imageImage is done: container.img

默认创建镜像大小是768M,也可以指定大小进行创建

$ singularity create --size 2048 container2.imgInitializing Singularity image subsystemOpening image file: container2.imgCreating 2048MiB imageBinding image to loopCreating file system within imageImage is done: container2.img

四、定制化镜像

创建TensorFlow gpu 版本定制镜像

  1. create a bootstrap new file

vim Singularity

BootStrap: dockerFrom: nvidia/cuda:8.0-cudnn5-devel-centos7%post                                                                                                                                # install other needed packagesyum clean allyum -y updateyum -y install epel-releaseyum -y install python-pip# install tensorflowpip install --upgrade pippip install tensorflow-gpu

2.create a empty image

$singularity create --size 10240 centos.imgInitializing Singularity image subsystemOpening image file: centos.imgCreating 10240MiB imageBinding image to loopCreating file system within imageImage is done: centos.img

3.customize image

$ sudo singularity  bootstrap centos.img Singularity Sanitizing environmentBuilding from bootstrap definition recipeAdding base Singularity environment to containerDocker image path: index.docker.io/library/ubuntu:latestCache folder set to /root/.singularity/docker[5/5] |===================================| 100.0% Exploding layer: sha256:b6f892c0043b37bd1834a4a1b7d68fe6421c6acbc7e7e63a4527e1d379f92c1b.tar.gzExploding layer: sha256:55010f332b047687e081a9639fac04918552c144bc2da4edb3422ce8efcc1fb1.tar.gzExploding layer: sha256:2955fb827c947b782af190a759805d229cfebc75978dba2d01b4a59e6a333845.tar.gzExploding layer: sha256:3deef3fcbd3072b45771bd0d192d4e5ff2b7310b99ea92bce062e01097953505.tar.gzExploding layer: sha256:cf9722e506aada1109f5c00a9ba542a81c9e109606c01c81f5991b1f93de7b66.tar.gzExploding layer: sha256:fe44851d529f465f9aa107b32351c8a0a722fc0619a2a7c22b058084fac068a4.tar.gzFinalizing Singularity container

五、进入容器里面

$singularity shell -n centos.img WARNING: Library bind directory not present in container, update containerSingularity: Invoking an interactive shell within container...Singularity.centos.img> df -hFilesystem      Size  Used Avail Use% Mounted onsingularity     1.0M     0  1.0M   0% /

六、共享文件

/test 是宿主机目录,/yangyang是容器内部目录,容器内部目录不需要提前创建

$singularity shell -B /test:/yangyang centos.img Singularity: Invoking an interactive shell within container...Singularity.centos.img> cd /yangyangSingularity.centos.img> lsSingularity.centos.img> 

广告 广告

评论区