【发布时间】:2020-07-21 07:08:35
【问题描述】:
我有以下运行 spring boot application 的 docker 文件:
# 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 文件中,以便在容器内部完成构建步骤?
编辑:
我希望用户的步骤是:
- 从
github克隆我的项目 - 运行
docker build -t pokerstats .- 它将进行 gradle 构建 - 运行 docker 容器运行 -d -p 8080:8080 pokerstats
用户将从 github 克隆我的项目 - 然后我希望他们能够运行 docker 容器,而不必先使用 gradle 构建项目 - 即我希望 docker 文件进行构建并将 jar 复制到容器中。
【问题讨论】:
-
The issue is that currently I have to run gradle clean build on my host machine first to create the jar file on my local machine at path- 为什么这是个问题? -
请注意,您可以使用 Gradle 插件来构建 docker 镜像。有几个,例如com.liferay.app.docker。
-
因为理想情况下我希望在 docker 容器中执行此步骤,因为它是用户在运行我的应用程序之前执行的少一个命令。这可能吗?