"ディレクトリを作成できません。そのファイルまたはディレクトリはありません。"

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/

コマンドは、ファイルをコピーするための設定をinstall -m受け入れるコマンドへの参照です。一方、ソースディレクトリのリストのみが必要なため、コマンドはコピーする3つのファイル/ディレクトリを探します。MODEcp/var/www/html/

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

この特定の問題を解決するには、Dockerfileに以下を追加することをお勧めします。

RUN mkdir -p /var/www/html

おすすめ記事