Risposta da errore da demone: Imansible avviare il contenitore Errore di sistema: nessun file o directory di questo tipo

Ho creato il seguente Dockerfile ed è stato in grado di costruirlo con successo ( 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/* 

Tuttavia, quando cerco di eseguirlo ho il seguente errore:

 $ 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 

Che cosa ho fatto di sbagliato?

Il problema non è il contenitore docker, ma il programma "busco" – restituisce "Nessun file o directory" e si blocca. Forse è necessario fornire più parametri al file o l'installazione di python non è completa?

Inoltre, se si specifica un punto di inserimento, non è necessario ripetere quel command nel run-call: docker run -v /galaxy/downloads:/data cmp-genomics /busco/BUSCO_v1.1.py chiama il /busco/BUSCO_v1.1.py con /busco/BUSCO_v1.1.py come primo parametro – e questo programma restituisce un codice di output zero.

Ho affrontato questo errore molte volte mentre spinning il mio contenitore docker. Questo errore viene generalmente visualizzato quando si tenta di accedere a una directory all'interno del contenitore che in realtà non esiste. Quindi, anche se non riesco a trovare qualcosa di sbagliato con il Dockerfile, tuttavia suggerirei di non eseguire il file python direttamente all'inizio del contenitore.

Piuttosto, dovresti eseguire il contenitore in modalità shell intertriggers e verificare manualmente se tutti i file e le directory sono effettivamente creati come intendete essere e sono sicuro che troverai il tuo errore.