我创建了以下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
我做错什么了?
最佳答案
问题不在于docker-container,而是“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
程序-该程序返回一个非零的退出代码。
关于docker - 来自守护程序的错误响应:无法启动容器[8]系统错误:没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32392000/