这是构建Docker镜像时收到的错误消息:
步骤18:运行mkdir / var / www / app&& chown luqo33:www-data / var / www / app --->在7b5854406120 mkdir中运行:无法创建目录'/ 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:无法创建目录'/ var / www / app':没有这样的文件或目录”声音如此荒谬 - 当然没有这样的目录。我想创造它。这有什么不对?
答案 0 :(得分:137)
问题是/var/www
也不存在,默认情况下mkdir
不递归 - 它希望直接父目录存在。
使用:
mkdir -p /var/www/app
...或者在Dockerfile中到达此点之前安装一个创建/var/www
的包。
答案 1 :(得分:9)
您也可以简单地使用
WORKDIR /var/www/app
如果不存在,它将自动创建文件夹。
然后切换回您需要的目录。
答案 2 :(得分:-1)
除了以前的用例之外,如果要在docker-compose up
上创建新的虚拟文件夹,也可以使用Docker Compose创建目录:
volumes:
- .:/ftp/
- /ftp/node_modules
- /ftp/files