У меня есть следующий docker файл, который запускает spring boot application
:
# For Java 11, try this
FROM adoptopenjdk/openjdk11:alpine-jre
#
ARG JAR_FILE=/build/libs/pokerstats-0.0.1-SNAPSHOT.jar
#
WORKDIR /opt/app
#
COPY ${JAR_FILE} app.jar
#
ENTRYPOINT ["java","-jar","app.jar"]
Проблема в том, что в настоящее время мне нужно сначала запустить gradle clean build
на моем хост-компьютере, чтобы создать файл jar на мой локальный компьютер по пути:
/build/libs/pokerstats-0.0.1-SNAPSHOT.jar
Как я могу поместить это gradle clean build
в мой docker файл, чтобы шаг сборки был сделан внутри контейнера?
edit:
Я хочу, чтобы шаги для пользователя были:
1. Clone my project from `github`
2. run `docker build -t pokerstats .` - which will do the gradle build
3. run docker container run -d -p 8080:8080 pokerstats
Пользователь будет клонировать мой проект из github - тогда я хочу, чтобы они были возможность запуска контейнера docker без предварительной сборки проекта с помощью gradle - т.е. я хочу, чтобы файл docker выполнил сборку и скопировал jar в контейнер.