Wollen Sie mount ein Verzeichnis auf eine Datei (oder Umgekehrt)?
Habe ich ein Andockfenster mit version 17.06.0-ce
. Wenn ich versuche zu installieren von nginx mit docker mit dem Befehl:
docker run -p 80:80 -p 8080:8080 --name nginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs -d nginx:latest
es zeigt, dass
docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "process_linux.go:339: container init caused \"rootfs_linux.go:57: mounting \\\"/appdata/nginx/conf/nginx.conf\\\" to rootfs \\\"/var/lib/docker/aufs/mnt/dcea22444e9ffda114593b18fc8b574adfada06947385aedc2ac09f199188fa0\\\" at \\\"/var/lib/docker/aufs/mnt/dcea22444e9ffda114593b18fc8b574adfada06947385aedc2ac09f199188fa0/etc/nginx/nginx.conf\\\" caused \\\"not a directory\\\"\""
: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.
Falls nicht, montieren Sie die nginx.conf
- Datei, ist alles in Ordnung. Also, wie kann ich mount die Konfigurationsdatei?
Dank.
Was ist die Ausgabe von
In meinem Fall hatte ich versehentlich abgebildet ein Verzeichnis vom host auf eine Datei in den container. Neustart ist der container nicht mehr funktioniert. Ich hatte zu entfernen, der Behälter (
ls -al .
? Will sehen, was Ihr pwd aussieht.In meinem Fall hatte ich versehentlich abgebildet ein Verzeichnis vom host auf eine Datei in den container. Neustart ist der container nicht mehr funktioniert. Ich hatte zu entfernen, der Behälter (
docker rm …
), dann erstellen Sie es neu.InformationsquelleAutor Steven Luo | 2017-08-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weil Andockfenster erkennen
$PWD/conf/nginx.conf
als Ordner und nicht in einer Datei.Überprüfen Sie, ob
$PWD/conf/
Verzeichnis nicht enthalten nginx.conf als Verzeichnis.Versuchen mit
Öffnen Sie andernfalls eine Andockfenster Problem.
Es funktioniert gut für mich mit der gleichen Konfiguration.
InformationsquelleAutor Mathieu Lescaudron
Wenn Sie Docker für Windows, dieser Fehler kann passieren, wenn Sie vor kurzem Ihr Passwort geändert.
Wie fix:
docker rm -v <container_name>
Kredit geht an BaranOrnarli auf GitHub für die Lösung.
Ich war in der Lage, das problem zu beheben, indem ab Schritt 2, und auch das weglassen der letzten. Ich habe nicht zu zerstören, die Container/volumes mounten wieder.
Ich Stimme mit @MateoHermosilla, es doesnt müssen dete die container nur noch "Reset-Anmeldeinformationen"
Ich bin immer der gleiche Fehler beim ausführen proxy-deploy.sh während der Installation von sandbox-proxy (hadoop). Nach dieser soln. nicht zu beheben.
Ich hätte nie gedacht, dies zu tun, aber sicher genug, ich habe meine Arbeit Kennwort, und diese Maschine würde nicht bereitstellen von volumes. Die Meldungen hätten nie führte mich zu prüfen Aktien. Ich dachte, sobald ich eine gemeinsame Fahrt wäre es gut zu gehen, für immer.
InformationsquelleAutor Jesse Webb
Entfernen Sie die volumes, die im Zusammenhang mit der container. Finden Sie die container-Namen mit
docker ps -a
dann entfernen Sie den Behälter:Problem:
Den Fehler, das Sie gegenüberstellen können auftreten, wenn Sie versucht mit
docker run
Befehl zuvor, wenn die Datei nicht vorhanden war, an der Stelle, wo es hätte sein sollen, im host-Verzeichnis. In diesem Fall docker-daemon haben würde, erstellt ein Verzeichnis im container an seinem Platz. Die höher keine Karte, um die richtige Datei, wenn die richtigen Dateien im host-Verzeichnis und Andockfenster erneut ausgeführt wird.Lösung:
Entfernen Sie die volumes, die verbunden sind, um die container. Wenn Sie nicht besorgt über andere container-volumes können Sie auch verwenden:
docker volume
Befehl/Schnittstelle ist nur für anonyme und benannte Mengen, die nicht Teil der ursprünglichen Frage.Blick auf die Fehler, es sagt, dass der Berg war zu Versagen, wenn es versucht zu montieren
/var/lib/docker/aufs/mnt/dcea22444e9ffda114593b18fc8b574adfada06947385aedc2ac09f199188fa0\\\"
Meine Schlussfolgerung: Es hat bereits ein Ordner aufgrund einer früheren Ausführung, so dass, wenn Sie versuchen, anzeigen einer Datei in diesem Ordner, es würde scheitern.Hier zwei Dinge, die vielleicht schief gelaufen ist, entweder der host hat die falschen Dinge, oder bereits erstellte volume hat die falsche Sache. Angenommen, host korrekt zu sein, dachte ich, es wäre besser, klar, Probleme mit bestehenden Volumen.
Dies ist tatsächlich eine gültige Antwort für, wenn die container bereits im Zusammenhang mit einer Lautstärke und die Art des Datenträgers geändert wird, ist in den nächsten Lauf. So entfernen, Volumen könnte helfen!
Das war hilfreich. Das problem in meinem Fall war in der Tat, ich hatte alte Behälter noch definiert. Mit docker rm zap und dann tut ein Andockfenster-verfassen-up funktioniert.
InformationsquelleAutor Ayushya
Ich weiß, diese Frage wurde gepostet, vor langer Zeit, aber trotzdem würde ich gerne beantworten, wie ich dieses Problem behoben.
Bin ich mit dem Andockfenster ToolBox für Windows. Standardmäßig Laufwerk C wird automatisch gemountet werden, damit die mount-Dateien, stellen Sie sicher, dass Ihre Dateien und Ordner innerhalb LAUFWERK C.
Beispiel: C:\Users\%USERNAME%\Desktop
verwenden Sie das Andockfenster ToolBox?
minikube+virtualBox+Andockfenster ToolBox , localkube war veraltet, welchen Treiber sollte ich verwenden?
wenn Sie sich die Montage von Dockercompose , dann verwenden Sie ${pwd}/<Pfad>
wenn Sie die Montage Volumen von der Befehl-Linie ,dann verwenden Sie -v /c/x-suite/
InformationsquelleAutor Abhishek D K
könnte Sie benutzen Sie bitte den absoluten Pfad/den kompletten Pfad anstelle von $PWD/conf/nginx.conf .es funktioniert
InformationsquelleAutor Srikanth Muppalaneni
l gelöst haben, das mount problem,l bin in win7 envirment,und das gleiche Problem mit mir passiert , zeigen "Sie Werden versuchen, montieren Sie ein Verzeichnis auf eine Datei". der container ist mit Standard-sync-Verzeichnis in wins C:\Users\ ,l verschieben meiner Projekt in C:\Users\ .erstellen Sie dann das Projekt .es funktioniert .
InformationsquelleAutor dan mu