来自守护进程的错误响应:无法启动容器系统错误:没有这样的文件或目录

我创build了以下Dockerfile并能够成功构build它( sudo docker build -t cmp-genomics . ):

 FROM ubuntu:14.04 MAINTAINER x # Setup OS RUN apt-get update -y && apt-get upgrade -y RUN apt-get -y install python-software-properties RUN apt-get -y install software-properties-common RUN add-apt-repository ppa:nebc/bio-linux RUN apt-get update RUN apt-get install -y wget RUN apt-get install -y python-setuptools python-docutils python-pip #RUN pip install snakemake RUN apt-get install -y emboss=6.6.0+dfsg-2biolinux1 RUN apt-get install -y hmmer=3.1b1-3 RUN apt-get install -y lastz=1.02.00-3biolinux1.1 RUN apt-get install -y ncbi-blast+=2.2.28-2 # Augustus RUN mkdir /augustus RUN wget -c http://bioinf.uni-greifswald.de/augustus/binaries/augustus-3.1.tar.gz RUN tar -xvzf augustus*.tar.gz -C /augustus RUN rm augustus*.tar.gz ENV PATH /augustus/bin:/augustus/scripts:$PATH ENV AUGUSTUS_CONFIG_PATH /augustus/config # BUSCO RUN mkdir /busco RUN wget -c http://busco.ezlab.org/files/BUSCO_v1.1.tar.gz RUN tar -xvzf BUSCO*.tar.gz -C /busco RUN rm BUSCO*.tar.gz RUN chmod +x /busco/BUSCO_v1.1.py ENTRYPOINT ["/busco/BUSCO_v1.1.py"] # Cleanup RUN DEBIAN_FRONTEND=noninteractive apt-get purge -y build-essential RUN DEBIAN_FRONTEND=noninteractive apt-get purge -y gfortran RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 

但是,当我尝试运行它时,我得到了以下错误:

 $ docker run -v /galaxy/downloads:/data cmp-genomics /busco/BUSCO_v1.1.py no such file or directory Error response from daemon: Cannot start container 61c57cb5c15f9518464dd173a185a20429645880af100477d6b807c0df4b9e8b: [8] System error: no such file or directory 

我做错了什么?

问题不是docker集装箱,而是“busco” – 程序 – 它返回“没有这样的文件或目录”,崩溃。 也许你必须提供更多的参数文件或python安装不完整?

另外,如果指定一个入口点,则不必在运行调用中重复该命令: docker run -v /galaxy/downloads:/data cmp-genomics /busco/BUSCO_v1.1.py调用/busco/BUSCO_v1.1.py带有/busco/BUSCO_v1.1.py /busco/BUSCO_v1.1.py程序作为第一个参数 – 这个程序返回一个非零的退出代码。

我在装卸docker集装箱的过程中多次面对这个错误。 这个错误通常会在您尝试访问容器内某个目录中并不存在的目录时popup。 所以尽pipe我找不到Dockerfile有什么问题,但是我build议你不要直接在容器的开头运行你的python文件。

相反,您应该在交互式shell模式下运行容器,并手动validation是否所有的文件和目录实际上是按照您的意愿创build的,我相信您会发现您的错误。