不能在Dockerfile中执行RUN mkdir
这是构buildDocker镜像时得到的错误消息:
步骤18:运行mkdir / var / www / app && chown luqo33:www-data / var / www / app —>运行在7b5854406120 mkdir:无法创build目录'/ var / www / app':没有这样的文件或目录
这是导致错误的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:无法创build目录”/ var / www / app“:没有这样的文件或目录”声音如此荒谬 – 当然没有这样的目录。 我想创build它。 这里有什么问题?
问题是/var/www
也不存在,并且默认情况下mkdir
不是recursion的 – 它需要直接的父目录存在。
使用:
mkdir -p /var/www/app
…或者安装一个在你的Dockerfile中达到这个点之前创build一个/var/www
的包。
当创build从不存在的父目录挂起的子目录时,您必须将-p标志传递给mkdir …请将您的Dockerfile更新为
RUN mkdir -p ...
我testing了这个和它的正确