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に変更しましたが、何も変更されませんでした。
RUN cp 775 -rf roundcubemail-1.2.3/. /var/www/html/
に775を追加すると、エラーは「is not a directory」に変わります。
親ディレクトリ(この場合は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は、コピーされたファイルに設定するMODE
を受け入れるinstall -m
コマンドへの参照である可能性があります。一方、cp
は単にソースディレクトリのリストを期待しているため、このコマンドは/var/www/html/
にコピーする3つのファイル/ディレクトリを探しています。
755
-rf
roundcubemail-1.2.3
この特定の問題を解決するには、これをDockerfileに追加することをお勧めします。
RUN mkdir -p /var/www/html