Oto komunikat o błędzie, który otrzymuję podczas tworzenia obrazu platformy Docker:
Krok 18: URUCHOM mkdir / var / www / app && chown luqo33: www-data / var / www / app ---> Uruchomiony w 7b5854406120 mkdir: nie można utworzyć katalogu '/ var / www / app': Nie ma takiego pliku ani katalogu
Oto fragment pliku Dockerfile, który powoduje błąd:
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: nie można utworzyć katalogu '/ var / www / app': brak takiego pliku lub katalogu” brzmi tak nonsensownie - oczywiście nie ma takiego katalogu. Chcę to stworzyć. Co tu jest nie tak?
mkdir /var/www/app
w systemie, który nie miałby/var/www
bez niego.Odpowiedzi:
Problem polega na tym, że
/var/www
to też nie istnieje imkdir
nie jest domyślnie rekurencyjne - oczekuje, że istnieje bezpośredni katalog nadrzędny.Posługiwać się:
... lub zainstaluj pakiet, który tworzy
/var/www
przed osiągnięciem tego punktu w pliku Dockerfile.źródło
/var/www
?Podczas tworzenia podkatalogów zwisających z nieistniejących katalogów nadrzędnych należy przekazać
-p
flagę domkdir
... Zaktualizuj plik Dockerfile za pomocąPrzetestowałem to i jest poprawne.
źródło
Możesz też po prostu użyć
Automatycznie utworzy foldery, jeśli nie istnieją.
Następnie wróć do katalogu, w którym chcesz się znajdować.
źródło
Oprócz poprzednich przypadków użycia, możesz również użyć Docker Compose do tworzenia katalogów na wypadek, gdybyś chciał utworzyć nowe fałszywe foldery na
docker-compose up
:źródło