2017-02-02 3 views
0

Ich versuche, den folgenden Docker-Befehl ausführen, aber eine Datei nicht gefunden Fehler erhalten. Ich habe überprüft, dass der lokale Ordner /D/VMs/... die entsprechende Datei enthält und dass der Befehl adam-submit ordnungsgemäß funktioniert. Ich glaube, es gibt ein Problem mit, wie ich den lokalen Ordner mounte - ich nahm an, dass es am Standort /data für die Docker-Maschine sein würde. Für Kontext, verfolge ich das Tutorial an http://ampcamp.berkeley.edu/5/exercises/genome-analysis-with-adam.html die Docker Bild bei https://hub.docker.com/r/heuermh/adam/Docker Mounting Error - Datei nicht gefunden

Docker Run mit:

docker run -v '/D/VMs/hs/adam/data:/data' heuermh/adam adam-submit transform '/data/NA12878.sam' '/data/NA12878.adam'

Docker Run # 2:

docker run -v //d/vms/hs/adam/data:/data heuermh/adam adam-submit transform /data/NA12878.sam /data/NA12878.adam

Fehler:

Exception in thread "main" java.io.FileNotFoundException: Couldn't find any files matching /data/NA12878.sam. If you are trying to glob a directory of Parquet files, you need to glob inside the directory as well (e.g., "glob.me.*.adam/*", instead of "glob.me.*.adam"

Antwort

0

In den aufgeführten Verzeichnissen sieht es so aus, als ob Sie Docker für Windows ausführen. Dies wird innerhalb einer VM ausgeführt, und Ordner, die einem Container zugeordnet sind, werden von dieser VM zugeordnet. Um einen Ordner vom übergeordneten Betriebssystem zuzuordnen, muss er zuerst für die VM freigegeben werden, die standardmäßig in C:/Users aktiviert ist.

Wenn Sie docker-machine verwenden, überprüfen Sie die Einstellungen Ihrer VirtualBox, ansonsten überprüfen Sie die Einstellungen von Docker selbst für die Freigabe von Ordnern und stellen Sie sicher, dass/D/VMs enthalten ist.

+0

Ich verlasse mich eigentlich auf Docker Toolbox, die ich hoffe, funktioniert auf die gleiche Weise wie Sie beschrieben. Ich habe jedoch versucht, meinen Ordner '/ data' nach' C:/users' zu verschieben und 'docker run -v '/ c/users/data:/data ...' auszuführen, aber ohne Erfolg. – mongolol

+0

Benutzer unterscheidet zwischen Groß- und Kleinschreibung (dies ist eine Linux-basierte VM). Stellen Sie daher sicher, dass Sie Benutzer und nicht Benutzer verwenden. – BMitch

Verwandte Themen