Dies ist eine Fehlermeldung, die beim Erstellen eines Docker-Images angezeigt wird:
Schritt 18: RUN mkdir / var / www / app && chown luqo33: www-data / var / www / app ---> Ausführen in 7b5854406120 mkdir: Verzeichnis '/ var / www / app' kann nicht erstellt werden: Keine solche Datei oder kein solches Verzeichnis
Dies ist ein Fragment von Dockerfile, das den Fehler verursacht:
FROM ubuntu:14.04
RUN groupadd -r luqo33 && useradd -r -g luqo33 luqo33
<installing nginx, fpm, php and a couple of other things>
RUN mkdir /var/www/app && chown luqo33:www-data /var/www/app
VOLUME /var/www/app
WORKDIR /var/www/app
"mkdir: Verzeichnis kann nicht erstellt werden '/ var / www / app': Keine solche Datei oder kein solches Verzeichnis" klingt so unsinnig - natürlich gibt es kein solches Verzeichnis. Ich möchte es schaffen. Was ist hier falsch?
mkdir /var/www/app
auf einem System, auf dem es kein Docker gab/var/www
.Antworten:
Das Problem ist, dass
/var/www
es auch nicht existiert undmkdir
standardmäßig nicht rekursiv ist - es wird erwartet, dass das unmittelbare übergeordnete Verzeichnis existiert.Verwenden:
... oder installieren Sie ein Paket, das
/var/www
vor Erreichen dieses Punktes in Ihrer Docker-Datei ein erstellt.quelle
/var/www
?Wenn Sie Unterverzeichnisse erstellen, die an nicht vorhandenen übergeordneten Verzeichnissen hängen, müssen Sie das
-p
Flag anmkdir
... übergeben. Bitte aktualisieren Sie Ihre Docker-Datei mitIch habe das getestet und es ist richtig.
quelle
Sie können auch einfach verwenden
Die Ordner werden automatisch erstellt, wenn sie nicht vorhanden sind.
Wechseln Sie dann zurück in das Verzeichnis, in dem Sie sich befinden müssen.
quelle
Neben den vorherigen Anwendungsfällen können Sie mit Docker Compose auch Verzeichnisse erstellen, falls Sie neue Dummy-Ordner erstellen möchten für
docker-compose up
:quelle