Это сообщение об ошибке, которое я получаю при создании образа Docker:
Step 18 : RUN mkdir /var/www/app && chown luqo33:www-data /var/www/app
---> Running in 7b5854406120 mkdir: cannot create directory '/var/www/app': No such file or directory
Это фрагмент Dockerfile, вызывающий ошибку:
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: cannot create directory '/var/www/app': No such file or directory
звучит так бессмысленно - такого каталога конечно нет. Я хочу создать это. Что здесь не так?
mkdir /var/www/app
в системе, у которой/var/www
без него не было бы.Ответы:
Проблема в том, что он
/var/www
тоже не существует иmkdir
по умолчанию не рекурсивен - он ожидает, что непосредственный родительский каталог существует.Использование:
... или установите пакет, который создает
/var/www
до достижения этой точки в вашем Dockerfile.источник
/var/www
?При создании подкаталогов, висящих от несуществующих родительских каталогов, вы должны передать
-p
флагmkdir
... Пожалуйста, обновите свой Dockerfile с помощьюЯ проверил это, и это правильно.
источник
Вы также можете просто использовать
Он автоматически создаст папки, если они не существуют.
Затем вернитесь в каталог, в котором хотите находиться.
источник
Помимо предыдущих вариантов использования, вы также можете использовать Docker Compose для создания каталогов на случай, если вы хотите создать новые фиктивные папки
docker-compose up
:источник