如何从 dockerfile 构建奇点容器

how to build singularity container from dockerfile

我想从 docker 文件构建奇点容器。

我已经从 docker 集线器中拉取 运行 docker 个具有奇异性的图像。

singularity pull docker://ubuntu:latest

我还从奇点配方文件构建了图像。

singularity build  cpp.sif singularity_file

但我想从 docker 文件构建奇点图像。

谁知道怎么做。可以吗???

您无法从 Docker 文件直接 构建奇点容器,但您可以分两步完成。

docker build -t local/my_container .
sudo singularity build my_container.sif docker-daemon://local/my_container

使用 docker://my_container 在 Docker Hub 上查找容器。当您使用 docker-daemon 时,它会查看您本地构建的 docker 容器。您还可以在 Singularity 定义文件中使用 Bootstrap: docker-daemon

您可以使用 Singularity Python 将 Dockerfile 转换为奇点配方,反之亦然。 Singularity Python 提供了一些非常有用的实用程序,如果您打算经常使用 Singularity

,请考虑安装它
pip3 install spython # if you do not have spython install it from the command line

# print in the console
spython recipe Dockerfile

# save in the *.def file
spython recipe Dockerfile &> Singularity.def

如果您在使用 pip 时遇到问题,可以下载 spython 或按照 Singularity Python install. Find more about recipe conversion here

中所述拉取容器
sudo singularity build ubuntu.sif docker://ubuntu:latest

直接为我构建

不确定是否为此目的对奇点进行了更新