“无法创建目录...没有这样的文件或目录”

“无法创建目录...没有这样的文件或目录”

执行 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/

  1. 755
  2. -rf
  3. roundcubemail-1.2.3

为了解决这个特定问题,我建议将其添加到您的 Dockerfile 中:

RUN mkdir -p /var/www/html

相关内容