1

I created the following Dockerfile and was able to build it successfully (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/*

However when I try to run it I got the following error:

$ 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

What did I do wrong?

2 Answers 2

1

The problem is not the docker-container, but the "busco"-program - it returns "No such file or directory" and crashes. Maybe you have to provide more parameters to the file or the python-installation isn't complete?

Additionaly, if you specify an entrypoint, you don't have to repeat that command in the run-call: docker run -v /galaxy/downloads:/data cmp-genomics /busco/BUSCO_v1.1.py calls the /busco/BUSCO_v1.1.py program with /busco/BUSCO_v1.1.py as first parameter - and this program returns an none-zero exit code.

0

I have faced this error many times while spinning up my docker container. This error usually pops up when you are trying to access some directory within the container that does not really exist there. So although I can't find anything wrong with the Dockerfile, however I would suggest that you don't run your python file directly at the start of the container.

Rather you should run the container in interactive shell mode and manually verify if all the files and directories actually have been created as you intended them to be and I am sure you will find your error.

Not the answer you're looking for? Browse other questions tagged or ask your own question.