mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-08-29 03:06:45 +08:00
Merge branch '2.2.x'
Closes gh-19004
This commit is contained in:
commit
d0c85506d1
@ -35,19 +35,32 @@ Once you have unpacked the jar file, you can also get an extra boost to startup
|
||||
|
||||
More efficient container images can also be created by copying the dependencies to the image as a separate layer from the application classes and resources (which normally change more frequently).
|
||||
There is more than one way to achieve this layer separation.
|
||||
For example, using a `Dockerfile` you could express it in this form (assuming the jar is already unpacked at `target/dependency`):
|
||||
For example, using a `Dockerfile` you could express it in this form:
|
||||
|
||||
[indent=0]
|
||||
----
|
||||
FROM openjdk:8-jdk-alpine
|
||||
FROM openjdk:8-jdk-alpine AS builder
|
||||
WORKDIR target/dependency
|
||||
ARG appjar
|
||||
COPY ${appjar} app.jar
|
||||
RUN jar -xf ./app.jar
|
||||
|
||||
FROM openjdk:8-jre-alpine
|
||||
VOLUME /tmp
|
||||
ARG DEPENDENCY=target/dependency
|
||||
COPY ${DEPENDENCY}/BOOT-INF/lib /app/lib
|
||||
COPY ${DEPENDENCY}/META-INF /app/META-INF
|
||||
COPY ${DEPENDENCY}/BOOT-INF/classes /app
|
||||
COPY --from=builder ${DEPENDENCY}/BOOT-INF/lib /app/lib
|
||||
COPY --from=builder ${DEPENDENCY}/META-INF /app/META-INF
|
||||
COPY --from=builder ${DEPENDENCY}/BOOT-INF/classes /app
|
||||
ENTRYPOINT ["java","-cp","app:app/lib/*","com.example.MyApplication"]
|
||||
----
|
||||
|
||||
Assuming the above `Dockerfile` is the current directory, your docker image can be built specifying the path to your application jar, as show in the following example:
|
||||
|
||||
[indent=0]
|
||||
----
|
||||
docker build --build-arg appjar=path/to/myapp.jar .
|
||||
----
|
||||
|
||||
|
||||
|
||||
[[cloud-deployment]]
|
||||
|
Loading…
Reference in New Issue
Block a user