Dam*_*ien 0 java spring docker spring-boot docker-compose
我有以下 docker-compose 文件设置以及关联的 Dockerfile。
docker-compose.yml
version: '3'
services:
vault:
springboot-app:
build:
dockerfile: ./Dockerfile
restart: always
ports:
- "8080:8080"
environment:
- "SPRING_PROFILES_ACTIVE=local"
Run Code Online (Sandbox Code Playgroud)
文件
FROM maven:3.5.2-jdk-8-alpine AS MAVEN_BUILD
COPY pom.xml /build/
COPY src /build/src/
WORKDIR /build/
RUN mvn -B -U -e clean verify
FROM openjdk:8-jre-alpine
WORKDIR /
COPY --from=MAVEN_BUILD /build/target/MyApp-0.0.1-SNAPSHOT.jar /
ENTRYPOINT ["java", "-jar", "MyApp-0.0.1-SNAPSHOT.jar"]
Run Code Online (Sandbox Code Playgroud)
当我运行 docker-compose up 时,我的应用程序现在运行良好。我想知道我需要做哪些更改才能在代码更改时重建 Spring Boot 应用程序?在我的 pom 文件中,我有 spring-boot-maven-plugin 设置如下,我已经指定了 spring-boot-devtools 依赖项
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludeDevtools>false</excludeDevtools>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助
谢谢达米安
对于生产应用程序,您可以将 Java Docker 映像与已编译的 .jar 文件一起使用。
对于本地开发,请改用Maven Docker 映像。只要您对应用程序进行更改,它就可以运行源代码并进行编译。您可以使用 docker-compose.yml 文件,例如:
version: '3.1'
services:
backend:
image: maven:3.6.3-jdk-8
command: mvn spring-boot:run
ports:
- 8080:8080
volumes:
- .:/usr/src/mymaven:rw
working_dir: /usr/src/mymaven
Run Code Online (Sandbox Code Playgroud)
请务必设置卷以将您的源代码映射到 Docker 容器,并设置 Maven 的工作目录以查找您的 pom.xml。
| 归档时间: |
|
| 查看次数: |
2076 次 |
| 最近记录: |