Ceci est un message d'erreur que je reçois lors de la création d'une image Docker:
Étape 18: RUN mkdir / var / www / app && chown luqo33: www-data / var / www / app ---> Exécution dans 7b5854406120 mkdir: impossible de créer le répertoire '/ var / www / app': aucun fichier ou répertoire de ce type
Il s'agit d'un fragment de Dockerfile qui provoque l'erreur:
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: impossible de créer le répertoire '/ var / www / app': aucun fichier ou répertoire de ce type» ne semble si insensé - bien sûr, il n’existe pas de tel répertoire. Je veux le créer. Quel est le problème ici?
mkdir /var/www/app
d' exécution sur un système qui n'en avait pas/var/www
.Réponses:
Le problème est que cela
/var/www
n'existe pas non plus etmkdir
n'est pas récursif par défaut - il s'attend à ce que le répertoire parent immédiat existe.Utilisation:
... ou installez un package qui crée un
/var/www
avant d'atteindre ce point dans votre Dockerfile.la source
/var/www
?Lors de la création de sous-répertoires suspendus à un ou plusieurs répertoires parents non existants, vous devez passer l'
-p
indicateur àmkdir
... Veuillez mettre à jour votre Dockerfile avecJ'ai testé cela et c'est correct.
la source
Vous pouvez également utiliser simplement
Il créera automatiquement les dossiers s'ils n'existent pas.
Revenez ensuite au répertoire dans lequel vous devez vous trouver.
la source
Outre les cas d'utilisation précédents, vous pouvez également utiliser Docker Compose pour créer des répertoires au cas où vous souhaiteriez créer de nouveaux dossiers factices sur
docker-compose up
:la source