将 docker 构建命令移植到 Singularity

Porting docker build commands to Singularity

    docker build \
    --tag gcr.io/fuzzbench/runners/afl/libpng-1.2.56-intermediate \
    --build-arg BUILDKIT_INLINE_CACHE=1 \
    --cache-from gcr.io/fuzzbench/runners/afl/libpng-1.2.56-intermediate \
    --file fuzzers/afl/runner.Dockerfile \
    fuzzers/afl

我想将其移植到 Singularity 构建命令中。 (奇点不支持tag/build-arg/etc。) 同样在另一个问题上,在我的 Docker 文件中我有 ARG,并且 spython 说 WARNING ARG 不支持 Singularity,必须使用默认值定义才能解析。 ,关于如何从 Docker 移植到 Singularity 的文档真的很少。

将 Docker 图像“移植”到 Singularity 的最简单方法是 singularity build libpng_1.2.56.sif docker://gcr.io/fuzzbench/runners/afl/libpng-1.2.56-intermediate。如果源 docker 图像是在本地构建的并且不在远程注册表中,请使用 docker-daemon:// 而不是 docker://

该文档还有一个相当大的 Singularity and Docker 部分,在 Singularity 定义文件和 [=14] 之间使用 Docker 具有奇点和 similarities/differences 的图像=].

如果您想维护单独的 DockerfileSingularity 文件来创建图像,请记住并不总是有直接的等价物。 例如,. Docker 中的 --tag 实际上等同于 Singularity 图像的文件名,buildkit 设置特定于 Docker 构建过程并执行在奇点中没有对应物。