我正在尝试在 AWS EKS 上使用 Snakemake,在奇异容器中运行 shell 命令。如果我理解正确的话,Snakemake 然后由 kubernetes 作为容器本身运行,所以我会在 Pod 中运行一个奇异容器。我在 Snakefile 的同一文件夹中有一个 ubuntu 图像。如何告诉 Singularity 图片的存储路径?
我尝试运行在 DockerHub 中指定图像的工作流,它运行良好。但是,如果我指定 --kubernetes 标志,我无法使其与存储在我的 EC2 实例中的图像一起使用(如果我在没有 --kubernetes 的情况下运行它,它也可以与本地图像完美运行)。我尝试在 EC2 实例上指定图像的路径,但它不起作用。
我的 Snakefile 看起来像这样:
rule test:
singularity:
"ubuntu.simg"
output:
"out.txt"
shell:
"cat /etc/os-release > {output}"
我使用以下命令运行 Snakemake:
snakemake --kubernetes --default-remote-provider S3 --default-remote-prefix S3-bucket-name --use-singularity
所需的输出是在指定的 s3 存储桶中创建的文件“out.txt”,其中包含有关“ubuntu.sigm”容器的操作系统版本的信息。实际结果是一个失败的工作。如果我检查
kubectl logs snakejob-c25eaf1f-6ad4-505e-94a0-646543a59d33
我得到错误:
ERROR : Image path ubuntu.simg doesn't exist: No such file or directory
ABORT : Retval = 255
有同样问题的人吗?