我正在尝试在 docker 容器内运行 nextflow 管道。出于需要,我将 docker 的套接字安装为 docker 卷。这是我的 docker 撰写文件:
pipeline:
build:
dockerfile: ./docker/pipeline/dockerfile
volumes:
- ./nextflow:/home/app/nextflow
- ./data:/home/app/data
- /var/run/docker.sock:/var/run/docker.sock
这样容器内的nextflow就可以下载所有docker镜像来运行管道了。
当我运行 nextflow 管道(即 nf-core/sarek)时,经过一段时间并下载了一些 docker 映像后,它给了我以下错误:
Command exit status:
127
Command output:
(empty)
Command error:
/bin/bash: .command.run: No such file or directory
Work dir:
/home/app/nextflow/work/e5/83f1be41789e7aa1f5b7fbc19851fc
Tip: you can replicate the issue by changing to the process work dir and entering the command `bash .command.run`
如果我进入容器内部,文件
.command.run
存在于消息提供的路径中,即/home/app/nextflow/work/e5/83f1be41789e7aa1f5b7fbc19851fc
!
如果我尝试在其中运行
bash .command.run
,我会收到相同的错误消息:
/bin/bash: /home/app/nextflow/work/e5/83f1be41789e7aa1f5b7fbc19851fc/.command.run: No such file or directory
这是我使用的dockerfile:
FROM nextflow/nextflow:23.11.0-edge
RUN yum install -y python3 python3-pip python3-devel gcc openssl-devel libffi-devel python3-setuptools
RUN mkdir -p /home/app
COPY docker/pipeline /home/app
WORKDIR /home/app
RUN pip3 install -r requirements.txt
CMD ["gunicorn", "-b", "0.0.0.0:5000", "main:app"]
有同样的问题,除了我必须使用
path
来代替 val
来安装文件。
macOS 索诺玛 14.6.1 Nextflow 版本 24.10.0 内部版本 5928 Docker 版本 27.3.1,内部版本 ce12230