来自守护程序的错误响应:无法启动容器[8]系统错误:没有此类文件或目录

时间:2015-09-04 07:02:59

标签: docker dockerfile

我创建了以下Dockerfile,并且能够成功构建它(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

我做错了什么?

2 个答案:

答案 0 :(得分:1)

问题不在于docker-container,而是" busco" -program - 它返回"没有这样的文件或目录"和崩溃。也许您必须为文件提供更多参数,否则python-installation不能完成?

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

答案 1 :(得分:0)

在旋转我的docker容器时,我多次遇到此错误。当您尝试访问容器中某个实际上不存在的目录时,通常会弹出此错误。虽然我找不到Dockerfile的任何问题,但是我建议你不要直接在容器的开头运行你的python文件。

相反,您应该以交互式shell模式运行容器,并手动验证是否所有文件和目录实际上都是按照您的预期创建的,并且我确信您会发现错误。