【发布时间】:2021-07-22 08:23:51
【问题描述】:
我通过 Docker 将 Springboot jar 部署为 webapp。这是我的 Dockerfile 的基本概要。
#
# Build App
#
FROM maven:3.6.3-openjdk-15-slim AS build
# Copy Parent Project
COPY src /home/app/src
COPY pom.xml /home/app
RUN mvn -f /home/app/pom.xml clean package -DskipTests
#
# Deploy App
#
FROM openjdk:15-jdk-alpine
COPY --from=build /home/app/my-app/target/my-app-rest-0.0.1-SNAPSHOT.jar /usr/local/lib/app.jar
ENTRYPOINT exec java -Djava.security.egd=file:/dev/./urandom -jar /usr/local/lib/app.jar
我最初在互联网上发现了一个类似于这个 Dockerfile 的模式,我以为我理解了其中的大部分内容,但有一件事让我难以理解:我的 app.jar 运行所需的所有依赖 jar 都在哪里?我的项目正在运行和执行得很好,所以它们必须在我的容器中的某个地方。但是我已经搜索和搜索但找不到任何依赖 jar 甚至我的 webapp 的 WEB-INF 目录。我知道我的实际应用程序 jar 在 /usr/local/lib/ 中,但这就是我能推断的全部。
是否存在依赖项/webapp 配置所在的默认位置?有什么我可以添加到我的 Dockerfile 来定义它应该去哪里的东西吗?
【问题讨论】:
-
maven 可能在 docker 中构建了自己的存储库 /root/.m2
标签: java spring spring-boot docker maven