Singularity可以方便地处理Docker镜像,以下是三种方式:

方式1:从docker uri开始

参考:https://sylabs.io/guides/3.7/user-guide/singularity_and_docker.html#remotely-hosted-images

有以下两个命令可用:

singularity pull docker://godlovedc/lolcow # 下载pre-built image
singularity build mylolcow_latest.sif docker://godlovedc/lolcow # 下载后再build成镜像

方式2:从本地缓存的docker image开始

参考:https://sylabs.io/guides/3.7/user-guide/singularity_and_docker.html#locally-available-images-cached-by-docker

假设本地有godlovedc/lolcow镜像

$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
godlovedc/lolcow    latest              577c1fe8e6d8        16 months ago       241MB

那么通过如下命令可从本地docker镜像构建SIF文件:

$ sudo singularity build lolcow_from_docker_cache.sif docker-daemon://godlovedc/lolcow:latest

该命令与方式1的主要区别有:

  1. 从原来的docker变成了docker-daemon;
  2. 这里需要加sudo,因为docker程序运行时需要sudo权限;
  3. docker的镜像后面必须要加TAG标签,可以通过sudo docker images查看TAG标签。

方式3:从镜像tar文件开始

参考:https://sylabs.io/guides/3.7/user-guide/singularity_and_docker.html#locally-available-images-stored-archives

首先需要将docker镜像转成tar文件:

先查看当前的docker镜像

$ sudo docker images
REPOSITORY           TAG              IMAGE ID       CREATED        SIZE
hello-world          latest           d1165f221234   5 months ago   13.3kB

使用如下命令将hello-world镜像转成tar文件,这里save后面的参数就是IMAGE ID,即上面输出的第三列

$ sudo docker save d1165f221234 -o hello_world.tar

这样当前目录下面就出现了hello_world.tar文件。

接着,将该tar文件转成singularity镜像,命令与输出如下:

$ singularity build hello_world.sif docker-archive://hello_world.tar
INFO:    Starting build...
Getting image source signatures
Copying blob f22b99068db9 done
Copying config 1189c90721 done
Writing manifest to image destination
Storing signatures
2021/08/15 16:46:15  info unpack layer: sha256:a99912efe9c767b280c869d2e734bef3c92d29d45d4e3beefbeb5a1924ed7445
INFO:    Creating SIF file...
INFO:    Build complete: hello_world.sif

该命令与方式1的主要区别有:

  1. 原本的docker://换成了docker-archive://,方式2里面是docker-daemon://;
  2. 这里不需要加sudo了,只需要当前用户有hello_world.tar文件的可访问权限即可;
  3. 这里用的是tar文件,singularity也可以处理tar.gz文件。

从Docker镜像创建Singularity镜像(SIF文件)相关推荐

  1. Docker - 从创建mysql镜像开始

    文章目录 Docker - 从创建mysql镜像开始 1.下载mysql 镜像 2.查看已经安装的镜像 3.运行mysql 镜像 4.进入docker 命令行界面 5.登陆mysql 6.mysql ...

  2. 基于滴滴云安装 Docker 并上传镜像到滴滴云 Docker 仓库

    前言 Docker 简化了容器中应用程序进程的管理过程.容器允许您在资源隔离的进程中运行应用程序.容器与虚拟机类似,但容器更便携.更资源友好,并且更依赖于主机操作系统. 本文将介绍如何用滴滴云服务器在 ...

  3. 网易蜂巢 mysql镜像_在网易蜂巢的容器中创建自定义镜像和推送本地镜像的教程...

    Dockerfile 创建自定义镜像1.  登录蜂巢控制台:https://c.163.com/dashboard 2.  点击左侧导航菜单的「镜像仓库」标签: 3.  点击镜像仓库列表左上角的「创建 ...

  4. Docker(二):Docker常用命令之镜像的创建:Dockerfile 与 commit

    相关阅读: Docker(一):Docker的安装与常用命令 Docker(二):Docker常用命令之镜像的创建:Dockerfile 与 commit Docker(三):Docker镜像导入与导 ...

  5. Docker框架使用系列教程(七)Dockerfile镜像创建

    docker框架系列教程已经到第七期了,今天我们介绍一下Dockerfile镜像的创建,重点都在内部进行了标注,喜欢记得分享收藏. Dockerfile创建镜像 Dockerfile由一行行命令语句组 ...

  6. docker的镜像创建与Dockefile的编写

    文章目录 一: Docker 镜像的创建 1.1 基于已有镜像创建 (1)先启动一个镜像,在容器里做修改 (2)将修改后的容器提交为新的镜像,需要使用该容器的ID号创建新镜像 1.2 基于本地模板创建 ...

  7. docker镜像了解(建立私有仓库,基于已有镜像创建,Docker的数据管理) 基于Dockerfile创建,基于本地模板创建,端口映射,容器互联)

    文章目录 docker镜像 制作镜像的过程 基于已有镜像创建 基于本地模板创建 基于Dockerfile创建 Dockerfile操作指令 Docker的数据管理 数据卷 docker的网络通信 容器 ...

  8. Linux启动容器端口,docker安装 创建镜像 启动容器 的 使用方法

    1.linux centos 安装docker yum -y install docker 2.启动docker systemctl start docker #启动 docker 服务 system ...

  9. docker镜像创建与优化

    1 . 创建镜像 有两种方法构建镜像: docker commit :将运行的容器保存成镜像 Dockerfile:自动构建 使用docker commit 创建镜像分为三步: 运行容器 修改容器 将 ...

  10. Docker创建一个镜像

    创建 Dockerfile 文件.index.html测试页面 [root@localhos ~]# vi DockerfileFROM nginx:1.17.6 #基于 nginx 1.17,在bu ...

最新文章

  1. Wireshark非标准分析port无流量
  2. Android开发之Serializable 和 Parcelable的区别(源代码分享)
  3. 关于linux的root用户密码忘记处理成绩
  4. 【Python CheckiO 题解】Striped Words
  5. 几种在shell命令行中过滤adb logcat输出的方法
  6. 微信开放平台Android应用的签名
  7. 鸿蒙应用开发--应用生命周期
  8. 对于Neural ODE的小研究
  9. 气温常年在25度的地方_25度是什么气候
  10. sql 日期和当前日期时间差_SQL基础进阶16日期处理
  11. 此设备不允许更改其写入高速缓存设置_优化SiT15xx驱动器设置32 kHz晶体输入低功耗MCU程序设计细节(一)...
  12. SG90舵机驱动程序
  13. Lorenz系统的吸引子相图
  14. (可)变磁阻式传感器和磁阻式传感器的区别——原理、特点和应用
  15. 叶俊获“约翰·格雷博士中国行”最佳贡献奖
  16. 苹果手机打电话没有声音怎么回事_网页看视频没有声音怎么回事?
  17. org.dom4j.Document的主要用法
  18. 从高级语言实现ads 通信_4000通讯ADS通讯-高级语言-资源下载-读根文库
  19. 家用计算机的运行速度,家里电脑又卡又慢!如何提高电脑运行速度?
  20. idea启动后项目启动报错,必须得记录一下

热门文章

  1. 表格OCR相关资源整理【ICDAR】【表格识别】【持续更新...】
  2. Oracle 分页方法研究
  3. 三、OpenDaylight应用基础开发(ODL的Hello World)
  4. 摄像头在未来自动驾驶中的商业化落地方案
  5. 使用git上传代码遇到关于remote: Support for password authentication was removed on August 13, 2021.的问题
  6. linux权限 rwxr xr x,Linux 中的-rwxr-xr-x权限代表什么意思
  7. C#中操作Word(7)—— 如何向Word中插入表格
  8. 中国风android,小鱼天气 - 水墨古典中国风 #Android
  9. java咖啡平台,22年最新
  10. 计算机读不到移动硬盘怎么办,电脑读出来移动硬盘,但是显示不出来怎么办