У меня есть простой проект Gradle, который я хочу построить внутри контейнера Docker.
У меня многоступенчатая сборка докеров. На первом этапе просто клонируем проект с github. На втором этапе должен быть построен проект, чтобы я мог запустить его на последнем этапе. Но это не удается
FROM gradle:4.2.1-jdk8-alpine
WORKDIR /app
COPY --from=0 /app/myProject /app
RUN ./gradlew build --stacktrace
Команда ./gradlew build --stacktrace
не может быть выполнена и выдает ошибку:
FAILURE: Build failed with an exception.
* What went wrong:
Could not update /app/.gradle/3.5-rc-2/file-changes/last-build.bin
И трассировка стека:
org.gradle.api.UncheckedIOException: Could not update /app/.gradle/3.5-rc-2/file-changes/last-build.bin
at org.gradle.api.internal.changedetection.state.FileTimeStampInspector.updateOnFinishBuild(FileTimeStampInspector.java:72)
at org.gradle.api.internal.changedetection.state.BuildScopeFileTimeStampInspector.stop(BuildScopeFileTimeStampInspector.java:38)
at org.gradle.internal.concurrent.CompositeStoppable.stop(CompositeStoppable.java:98)
.....
Caused by: java.io.FileNotFoundException: /app/.gradle/3.5-rc-2/file-changes/last-build.bin (Permission denied)
at java.io.FileOutputStream.open0(Native Method)
......
Почему у пользователя докера нет разрешения на создание файла в рабочем каталоге и как добавить эти разрешения? Простой RUN chmod 777 /app
не работает и сообщает мне: chmod: /app: Operation not permitted