diff --git a/docker-compose.yml b/docker-compose.yml index 93c0a42d3..c06448582 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,7 +14,7 @@ services: mem_limit: 512M depends_on: - config-server - entrypoint: ["./dockerize","-wait=tcp://config-server:8888","-timeout=60s","--","java", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] + entrypoint: ["./dockerize","-wait=tcp://config-server:8888","-timeout=60s","--","java", "org.springframework.boot.loader.JarLauncher"] ports: - 8761:8761 @@ -25,7 +25,7 @@ services: depends_on: - config-server - discovery-server - entrypoint: ["./dockerize","-wait=tcp://discovery-server:8761","-timeout=60s","--","java", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] + entrypoint: ["./dockerize","-wait=tcp://discovery-server:8761","-timeout=60s","--","java", "org.springframework.boot.loader.JarLauncher"] ports: - 8081:8081 @@ -36,7 +36,7 @@ services: depends_on: - config-server - discovery-server - entrypoint: ["./dockerize","-wait=tcp://discovery-server:8761","-timeout=60s","--","java", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] + entrypoint: ["./dockerize","-wait=tcp://discovery-server:8761","-timeout=60s","--","java", "org.springframework.boot.loader.JarLauncher"] ports: - 8082:8082 @@ -47,7 +47,7 @@ services: depends_on: - config-server - discovery-server - entrypoint: ["./dockerize","-wait=tcp://discovery-server:8761","-timeout=60s","--","java", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] + entrypoint: ["./dockerize","-wait=tcp://discovery-server:8761","-timeout=60s","--","java", "org.springframework.boot.loader.JarLauncher"] ports: - 8083:8083 @@ -58,7 +58,7 @@ services: depends_on: - config-server - discovery-server - entrypoint: ["./dockerize","-wait=tcp://discovery-server:8761","-timeout=60s","--","java", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] + entrypoint: ["./dockerize","-wait=tcp://discovery-server:8761","-timeout=60s","--","java", "org.springframework.boot.loader.JarLauncher"] ports: - 8080:8080 @@ -78,7 +78,7 @@ services: depends_on: - config-server - discovery-server - entrypoint: ["./dockerize","-wait=tcp://discovery-server:8761","-timeout=60s","--","java", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] + entrypoint: ["./dockerize","-wait=tcp://discovery-server:8761","-timeout=60s","--","java", "org.springframework.boot.loader.JarLauncher"] ports: - 9090:9090 diff --git a/docker/Dockerfile b/docker/Dockerfile index 52aef406e..959770892 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,8 @@ -FROM openjdk:8-jre-alpine -VOLUME /tmp +FROM openjdk:11-jre as builder +WORKDIR application +ARG ARTIFACT_NAME +COPY ${ARTIFACT_NAME}.jar application.jar +RUN java -Djarmode=layertools -jar application.jar extract # Download dockerize and cache that layer ARG DOCKERIZE_VERSION @@ -7,13 +10,22 @@ RUN wget -O dockerize.tar.gz https://github.com/jwilder/dockerize/releases/downl RUN tar xzf dockerize.tar.gz RUN chmod +x dockerize -# This is the first layer that won't be cached -ARG ARTIFACT_NAME -ADD ${ARTIFACT_NAME}.jar /app.jar + +# wget is not installed on adoptopenjdk:11-jre-hotspot +FROM adoptopenjdk:11-jre-hotspot + +WORKDIR application + +# Dockerize +COPY --from=builder application/dockerize ./ ARG EXPOSED_PORT EXPOSE ${EXPOSED_PORT} ENV SPRING_PROFILES_ACTIVE docker -ENTRYPOINT ["java", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] +COPY --from=builder application/dependencies/ ./ +COPY --from=builder application/spring-boot-loader/ ./ +COPY --from=builder application/snapshot-dependencies/ ./ +COPY --from=builder application/application/ ./ +ENTRYPOINT ["java", "org.springframework.boot.loader.JarLauncher"] diff --git a/pom.xml b/pom.xml index efb4ef384..468e8cfd8 100644 --- a/pom.xml +++ b/pom.xml @@ -72,6 +72,7 @@ + springboot @@ -88,6 +89,10 @@ spring-boot-maven-plugin true + + + true +