执行 dockerfile 时,RUN cp -rf roundcubemail-1.2.3/. /var/www/html/
执行命令,但出现以下错误:
cp: cannot create directory '/var/www/html/': No such file or directory
ERROR: Service 'mailserver' failed to build: The command '/bin/sh -c cp -rf
roundcubemail-1.2.3/. /var/www/html/' returned a non-zero code: 1
在该目录上执行任何命令时都会发生该错误。我已经将权限更改为 775,但这并没有改变任何内容。
当添加 775 时,RUN cp 775 -rf roundcubemail-1.2.3/. /var/www/html/
错误更改为“不是目录”。
答案1
cp
如果父目录(www
在本例中)不存在,将报告该错误:
$ mkdir src dest
$ touch src/file
$ cp -r src dest/www/html/
cp: cannot create directory ‘dest/www/html/’: No such file or directory
与以下相反:
$ mkdir -p dest/www/html
$ cp -r src dest/www/html/
$ find dest
dest
dest/www
dest/www/html
dest/www/html/src
dest/www/html/src/file
另外,我相信你的:
RUN cp 775 -rf roundcubemail-1.2.3/. /var/www/html/
command 可能是对命令的引用install -m
,它接受MODE
对复制文件进行设置。cp
另一方面,只是需要一个源目录列表,因此该命令正在查找要复制到的三个文件/目录/var/www/html/
:
755
-rf
roundcubemail-1.2.3
为了解决这个特定问题,我建议将其添加到您的 Dockerfile 中:
RUN mkdir -p /var/www/html