mirror of
https://github.com/jlengrand/helidon.git
synced 2026-03-10 08:21:17 +00:00
45 lines
1.4 KiB
Docker
45 lines
1.4 KiB
Docker
#
|
|
# Copyright (c) 2019, 2020 Oracle and/or its affiliates.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
# 1st stage, build the app
|
|
FROM helidon/jdk11-graalvm-maven:20.2.0 as build
|
|
|
|
WORKDIR /helidon
|
|
|
|
# Create a first layer to cache the "Maven World" in the local repository.
|
|
# Incremental docker builds will always resume after that, unless you update
|
|
# the pom
|
|
ADD pom.xml .
|
|
RUN mvn package -Pnative-image -Dnative.image.skip -Dmaven.test.skip -Declipselink.weave.skip
|
|
|
|
# Do the Maven build!
|
|
# Incremental docker builds will resume here when you change sources
|
|
ADD src src
|
|
RUN mvn package -Pnative-image -Dnative.image.buildStatic -DskipTests
|
|
|
|
RUN echo "done!"
|
|
|
|
# 2nd stage, build the runtime image
|
|
FROM scratch
|
|
WORKDIR /helidon
|
|
|
|
# Copy the binary built in the 1st stage
|
|
COPY --from=build /helidon/target/helidon-quickstart-se .
|
|
|
|
ENTRYPOINT ["./helidon-quickstart-se"]
|
|
|
|
EXPOSE 8080
|