Linux

“無法創建目錄……沒有這樣的文件或目錄”

  • April 9, 2019

執行 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/ 錯誤更改為“不是目錄”時。

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命令接受 aMODE以設置複製的文件。cp另一方面,它只是期望一個源目錄列表,因此該命令正在尋找三個要復製到的文件/目錄/var/www/html/

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

為了解決這個特定問題,我建議將其添加到您的 Dockerfile 中:

RUN mkdir -p /var/www/html

引用自:https://unix.stackexchange.com/questions/511477