【发布时间】:2019-08-23 13:03:11
【问题描述】:
我正在尝试使用多阶段 dockerfile 创建一个可以在 Docker 中完全编译和运行的 Spring Boot 应用程序:
###############
#### Build ####
###############
FROM openjdk:13-alpine as builder
WORKDIR /usr/src/app
COPY . .
RUN path/to/gradlew build
################
#### Deploy ####
################
FROM openjdk:13-alpine
WORKDIR /usr/src/app
COPY --from=builder /usr/src/app/some/path /usr/src/app/
EXPOSE 8080
CMD [java, some/path/someJar.jar]
两件事我无法直截了当:
- 我的项目中没有任何 gradlew 文件和 gradlew.bat 文件。即使有一个 gradle/ 目录并且在 gradle/wrapper/gradle-wrapper.properties 我定义了 Gradle 版本 3.5.1。在设置中,我尝试了“默认包装器”和“包装器任务配置”。
Intellij Idea 似乎以某种方式解析了 gradle 可执行文件。不知道可执行文件在哪里。
- gradle 在构建时会生成一些输出。但是我无法手动运行或转换为不错的 docker 命令。它基本上编译了java类,就是这样。在java中运行主类不起作用。再一次,使用 Intellij Idea 'run' 工作正常。 Intellij 是做什么的?
【问题讨论】:
标签: java spring-boot gradle intellij-idea